test/string_tests.c

changeset 100
e0ec80179a5d
parent 98
0a752853f792
child 103
08018864fb91
equal deleted inserted replaced
99:4566ef29f16b 100:e0ec80179a5d
19 UCX_TEST_IMPLEMENT(test_sstr_len_cat) { 19 UCX_TEST_IMPLEMENT(test_sstr_len_cat) {
20 sstr_t s1 = S("1234"); 20 sstr_t s1 = S("1234");
21 sstr_t s2 = S(".:.:."); 21 sstr_t s2 = S(".:.:.");
22 sstr_t s3 = S("X"); 22 sstr_t s3 = S("X");
23 23
24 size_t len = sstrnlen(3, s1, s2, s3);
24 sstr_t cat; 25 sstr_t cat;
25 26 cat.ptr = (char*) malloc(16);
26 size_t len = sstrnlen(3, s1, s2, s3); 27 cat.length = 16;
28 cat = sstrncat(3, cat, s1, s2, s3);
27 29
28 UCX_TEST_BEGIN 30 UCX_TEST_BEGIN
29 31
30 UCX_TEST_ASSERT(len == s1.length + s2.length + s3.length, 32 UCX_TEST_ASSERT(len == 10, "sstrnlen returned wrong size");
31 "sstrnlen returned wrong size");
32
33 len = s1.length + s2.length + s3.length;
34
35 cat.ptr = (char*) malloc(len + 1);
36 cat.ptr[len] = 0;
37 cat.length = len;
38
39 sstrncat(3, cat, s1, s2, s3);
40 33
41 UCX_TEST_ASSERT(cat.ptr[0] == '1', "sstrncat, wrong content"); 34 UCX_TEST_ASSERT(cat.ptr[0] == '1', "sstrncat, wrong content");
42 UCX_TEST_ASSERT(cat.ptr[1] == '2', "sstrncat, wrong content"); 35 UCX_TEST_ASSERT(cat.ptr[1] == '2', "sstrncat, wrong content");
43 UCX_TEST_ASSERT(cat.ptr[2] == '3', "sstrncat, wrong content"); 36 UCX_TEST_ASSERT(cat.ptr[2] == '3', "sstrncat, wrong content");
44 UCX_TEST_ASSERT(cat.ptr[3] == '4', "sstrncat, wrong content"); 37 UCX_TEST_ASSERT(cat.ptr[3] == '4', "sstrncat, wrong content");
45 UCX_TEST_ASSERT(cat.ptr[4] == '.', "sstrncat, wrong content"); 38 UCX_TEST_ASSERT(cat.ptr[4] == '.', "sstrncat, wrong content");
46 UCX_TEST_ASSERT(cat.ptr[8] == '.', "sstrncat, wrong content"); 39 UCX_TEST_ASSERT(cat.ptr[8] == '.', "sstrncat, wrong content");
47 UCX_TEST_ASSERT(cat.ptr[9] == 'X', "sstrncat, wrong content"); 40 UCX_TEST_ASSERT(cat.ptr[9] == 'X', "sstrncat, wrong content");
41 UCX_TEST_ASSERT(cat.length == 10, "sstrncat, wrong length");
48 42
49 UCX_TEST_END 43 UCX_TEST_END
50 44
51 free(cat.ptr); 45 free(cat.ptr);
52 } 46 }
174 168
175 UCX_TEST_END 169 UCX_TEST_END
176 } 170 }
177 171
178 UCX_TEST_IMPLEMENT(test_sstrtrim) { 172 UCX_TEST_IMPLEMENT(test_sstrtrim) {
179 sstr_t test = sstrtrim(sstr(" ein test ")); 173 sstr_t test = sstrtrim(sstr((char*)" ein test "));
180 sstr_t empty = sstrtrim(sstr("")); 174 sstr_t empty = sstrtrim(sstr((char*)""));
181 UCX_TEST_BEGIN 175 UCX_TEST_BEGIN
182 UCX_TEST_ASSERT(strncmp(test.ptr, "ein test", test.length) == 0, "failed"); 176 UCX_TEST_ASSERT(strncmp(test.ptr, "ein test", test.length) == 0, "failed");
183 UCX_TEST_ASSERT(empty.length == 0, "empty string failed"); 177 UCX_TEST_ASSERT(empty.length == 0, "empty string failed");
184 UCX_TEST_END 178 UCX_TEST_END
185 } 179 }

mercurial