|
|
@@ -239,6 +239,37 @@ void test_SCDString_char_remove(void **state) {
|
|
|
SCDString_free(&dstr);
|
|
|
}
|
|
|
|
|
|
+void test_SCDString_char_insert(void **state) {
|
|
|
+ (void) state;
|
|
|
+
|
|
|
+ SCDString dstr;
|
|
|
+ assert_true(SCDString_alloc(&dstr, "World", strlen("World")) == SCUFCONT_SUCCESS);
|
|
|
+ assert_string_equal(SCDString_c_str(&dstr), "World");
|
|
|
+ assert_uint_equal(dstr.len, strlen("World"));
|
|
|
+
|
|
|
+ assert_true(SCDString_char_insert(&dstr, 0, 'H') == SCUFCONT_SUCCESS);
|
|
|
+ assert_string_equal(SCDString_c_str(&dstr), "HWorld");
|
|
|
+ assert_uint_equal(dstr.len, strlen("HWorld"));
|
|
|
+
|
|
|
+ assert_true(SCDString_char_insert(&dstr, 1, ' ') == SCUFCONT_SUCCESS);
|
|
|
+ assert_string_equal(SCDString_c_str(&dstr), "H World");
|
|
|
+ assert_uint_equal(dstr.len, strlen("H World"));
|
|
|
+
|
|
|
+ assert_true(SCDString_char_insert(&dstr, 1, 'i') == SCUFCONT_SUCCESS);
|
|
|
+ assert_string_equal(SCDString_c_str(&dstr), "Hi World");
|
|
|
+ assert_uint_equal(dstr.len, strlen("Hi World"));
|
|
|
+
|
|
|
+ assert_true(SCDString_char_insert(&dstr, dstr.len, '!') == SCUFCONT_SUCCESS);
|
|
|
+ assert_string_equal(SCDString_c_str(&dstr), "Hi World!");
|
|
|
+ assert_uint_equal(dstr.len, strlen("Hi World!"));
|
|
|
+
|
|
|
+ assert_true(SCDString_char_insert(&dstr, 8, 's') == SCUFCONT_SUCCESS);
|
|
|
+ assert_string_equal(SCDString_c_str(&dstr), "Hi Worlds!");
|
|
|
+ assert_uint_equal(dstr.len, strlen("Hi Worlds!"));
|
|
|
+
|
|
|
+ SCDString_free(&dstr);
|
|
|
+}
|
|
|
+
|
|
|
int DString_tests_run(void) {
|
|
|
const struct CMUnitTest tests[] = {
|
|
|
cmocka_unit_test(test_SCDString_alloc),
|
|
|
@@ -253,6 +284,7 @@ int DString_tests_run(void) {
|
|
|
cmocka_unit_test(test_SCDString_split),
|
|
|
cmocka_unit_test(test_SCDString_char_mod),
|
|
|
cmocka_unit_test(test_SCDString_char_remove),
|
|
|
+ cmocka_unit_test(test_SCDString_char_insert),
|
|
|
};
|
|
|
|
|
|
return cmocka_run_group_tests_name("DString", tests, NULL, NULL);
|