diff options
Diffstat (limited to 'tests/string_tests.c')
| -rw-r--r-- | tests/string_tests.c | 96 |
1 files changed, 73 insertions, 23 deletions
diff --git a/tests/string_tests.c b/tests/string_tests.c index 0d0d7e2..f600400 100644 --- a/tests/string_tests.c +++ b/tests/string_tests.c @@ -26,7 +26,9 @@ TEST(creating) { test_assert(ss3.data == str && ss3.len == str_len, "ss_from_vars created wrong slice"); StringSlice ss4 = SS_LIT(HELLO_WORLD_LIT); - test_assert(ss4.data == str && ss4.len == sizeof(HELLO_WORLD_LIT) - 1, "SS_LIT created wrong slice"); + test_assert( + ss4.data == str && ss4.len == sizeof(HELLO_WORLD_LIT) - 1, "SS_LIT created wrong slice" + ); StringSlice ss5 = ss_copy(ss1); test_assert(ss5.data == ss1.data && ss5.len == ss1.len, "ss_from_arr created wrong slice"); @@ -58,11 +60,15 @@ TEST(comparing) { free(hw); StringSlice ss3 = ss_from_vars(ss.data, ss.len - 1); - test_assert(ss_eq(ss, ss3) == 0, "slice is equal when the pointer is the same but length differs"); + test_assert( + ss_eq(ss, ss3) == 0, "slice is equal when the pointer is the same but length differs" + ); StringSlice ss4 = ss_from_str("hello"); StringSlice ss5 = ss_from_str("world"); - test_assert(ss_eq(ss4, ss5) == 0, "slice is equal when the length is the same but pointer differs"); + test_assert( + ss_eq(ss4, ss5) == 0, "slice is equal when the length is the same but pointer differs" + ); test_assert(ss_eq_str(ss4, "world") == 0, "slice is equal to different string"); } @@ -86,7 +92,9 @@ TEST(trimming) { TEST(prefix_suffix) { StringSlice ss = ss_from_str("pre mid suf"); - test_assert(ss_starts_with(ss, ss_from_str("pre")), "slice doesn't start with its slice prefix"); + test_assert( + ss_starts_with(ss, ss_from_str("pre")), "slice doesn't start with its slice prefix" + ); test_assert(ss_starts_with(ss, ss_from_str("suf")) == 0, "slice starts with not slice prefix"); test_assert(ss_ends_with(ss, ss_from_str("suf")), "slice doesn't end with its slice suffix"); @@ -99,7 +107,9 @@ TEST(prefix_suffix) { test_assert(ss_ends_with_str(ss, "pre") == 0, "slice ends with not string suffix"); StringSlice ss2 = ss_from_str(""); - test_assert(ss_starts_with(ss2, ss_from_str("")), "starts_with breaks for empty slice and prefix"); + test_assert( + ss_starts_with(ss2, ss_from_str("")), "starts_with breaks for empty slice and prefix" + ); test_assert(ss_ends_with(ss2, ss_from_str("")), "ends_with breaks for empty slice and suffix"); } @@ -151,7 +161,9 @@ TEST(splitting) { StringSlice ss1 = ss_from_str("Hello, World!"); StringSlice ss2 = ss_split(&ss1, ','); - test_assert(ss_eq_str(ss2, "Hello") && ss_eq_str(ss1, " World!"), "ss_split didn't split proprely"); + test_assert( + ss_eq_str(ss2, "Hello") && ss_eq_str(ss1, " World!"), "ss_split didn't split proprely" + ); StringSlice ss3 = ss_split_str(&ss2, "ll"); test_assert(ss_eq_str(ss3, "He") && ss_eq_str(ss2, "o"), "ss_split_str didn't split proprely"); @@ -162,47 +174,85 @@ TEST(splitting) { ss1 = ss_from_str("hiii"); ss2 = ss_split_str(&ss1, ""); - test_assert(ss_eq_str(ss2, "") && ss_eq_str(ss1, "hiii"), "ss_split_str fails empty str edge case"); + test_assert( + ss_eq_str(ss2, "") && ss_eq_str(ss1, "hiii"), "ss_split_str fails empty str edge case" + ); ss2 = ss_split_ss(&ss1, SS_LIT("")); - test_assert(ss_eq_str(ss2, "") && ss_eq_str(ss1, "hiii"), "ss_split_ss fails empty ss edge case"); + test_assert( + ss_eq_str(ss2, "") && ss_eq_str(ss1, "hiii"), "ss_split_ss fails empty ss edge case" + ); ss2 = ss_split(&ss1, '.'); - test_assert(ss_eq_str(ss2, "hiii") && ss_eq_str(ss1, ""), "ss_split fails not found delim edge case"); + test_assert( + ss_eq_str(ss2, "hiii") && ss_eq_str(ss1, ""), "ss_split fails not found delim edge case" + ); ss1 = ss_split_str(&ss2, ".."); - test_assert(ss_eq_str(ss1, "hiii") && ss_eq_str(ss2, ""), "ss_split_str fails not found delim edge case"); + test_assert( + ss_eq_str(ss1, "hiii") && ss_eq_str(ss2, ""), "ss_split_str fails not found delim edge case" + ); ss2 = ss_split_ss(&ss1, SS_LIT("...")); - test_assert(ss_eq_str(ss2, "hiii") && ss_eq_str(ss1, ""), "ss_split_ss fails not found delim edge case"); + test_assert( + ss_eq_str(ss2, "hiii") && ss_eq_str(ss1, ""), "ss_split_ss fails not found delim edge case" + ); StringSlice ss_middle = ss_from_str("[left][middle][right]"); StringSlice ss_left = ss_split_left(&ss_middle, 6); - test_assert(ss_eq_str(ss_left, "[left]") && ss_eq_str(ss_middle, "[middle][right]"), "ss_split_left didn't split properly"); + test_assert( + ss_eq_str(ss_left, "[left]") && ss_eq_str(ss_middle, "[middle][right]"), + "ss_split_left didn't split properly" + ); StringSlice ss_right = ss_split_right(&ss_middle, 7); - test_assert(ss_eq_str(ss_right, "[right]") && ss_eq_str(ss_middle, "[middle]"), "ss_split_right didn't split properly"); + test_assert( + ss_eq_str(ss_right, "[right]") && ss_eq_str(ss_middle, "[middle]"), + "ss_split_right didn't split properly" + ); ss_left = ss_split_left(&ss_middle, 20); - test_assert(ss_eq_str(ss_left, "[middle]") && ss_eq_str(ss_middle, ""), "ss_split_left didn't split properly (n > len)"); + test_assert( + ss_eq_str(ss_left, "[middle]") && ss_eq_str(ss_middle, ""), + "ss_split_left didn't split properly (n > len)" + ); ss_right = ss_split_right(&ss_middle, 500); - test_assert(ss_eq_str(ss_right, "") && ss_eq_str(ss_middle, ""), "ss_split_right didn't split properly (n > len)"); + test_assert( + ss_eq_str(ss_right, "") && ss_eq_str(ss_middle, ""), + "ss_split_right didn't split properly (n > len)" + ); } TEST(finding) { char *txt = "a slice of FINDME text"; StringSlice ss = ss_from_str(txt); - test_assert(ss_eq_str(ss_find(ss, ss_from_str("FINDME")), "FINDME text"), "find didn't find a part of the slice"); - test_assert(ss_eq_str(ss_find_str(ss, "FINDME"), "FINDME text"), "find_str didn't find a part of the slice"); - - test_assert(ss_eq(ss_find(ss, ss_from_str("")), ss), "find didn't return whole slice for empty target"); - test_assert(ss_eq(ss_find_str(ss, ""), ss), "find_str didn't return whole slice for empty target"); - - test_assert(ss_eq_str(ss_find(ss, ss_from_str("abcd")), ""), "find didn't return empty slice for not found target"); - test_assert(ss_eq_str(ss_find_str(ss, "abcd"), ""), "find_str didn't return empty slice for not found target"); + test_assert( + ss_eq_str(ss_find(ss, ss_from_str("FINDME")), "FINDME text"), + "find didn't find a part of the slice" + ); + test_assert( + ss_eq_str(ss_find_str(ss, "FINDME"), "FINDME text"), + "find_str didn't find a part of the slice" + ); + + test_assert( + ss_eq(ss_find(ss, ss_from_str("")), ss), "find didn't return whole slice for empty target" + ); + test_assert( + ss_eq(ss_find_str(ss, ""), ss), "find_str didn't return whole slice for empty target" + ); + + test_assert( + ss_eq_str(ss_find(ss, ss_from_str("abcd")), ""), + "find didn't return empty slice for not found target" + ); + test_assert( + ss_eq_str(ss_find_str(ss, "abcd"), ""), + "find_str didn't return empty slice for not found target" + ); } TEST(utf8_len_test) { |
