#include int main(void) { List splits; Allocator talloc; String result; assert(un_string_get_length(UN_CSTR "Hello") == 5); assert(un_string_get_length(UN_CSTR "") == 0); assert(un_string_get_length(UN_CSTR "What") == 4); talloc = un_allocator_get_temporary(); result = un_string_concat(UN_STR("Hello "), UN_STR("world!"), talloc); assert(!un_string_compare(result, UN_STR("Hello world!"))); assert(!un_string_compare(un_string_copy(result, talloc), result)); splits = un_string_split(UN_STR("Eatin burger wit no honey mustard"), UN_STR(" "), talloc); assert(splits.count == 6); assert(!un_string_compare(*(String*)un_list_get(&splits, 0), UN_STR("Eatin"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 1), UN_STR("burger"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 2), UN_STR("wit"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 3), UN_STR("no"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 4), UN_STR("honey"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 5), UN_STR("mustard"))); un_list_destroy(&splits, true); splits = un_string_split(UN_STR("Eatin||burger||wit||no||honey||mustard"), UN_STR("||"), talloc); assert(splits.count == 6); assert(!un_string_compare(*(String*)un_list_get(&splits, 0), UN_STR("Eatin"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 1), UN_STR("burger"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 2), UN_STR("wit"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 3), UN_STR("no"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 4), UN_STR("honey"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 5), UN_STR("mustard"))); un_list_destroy(&splits, true); splits = un_string_split(UN_STR("Eatin||burger||wit||no||honey||mustard||a"), UN_STR("||"), talloc); assert(splits.count == 7); assert(!un_string_compare(*(String*)un_list_get(&splits, 0), UN_STR("Eatin"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 1), UN_STR("burger"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 2), UN_STR("wit"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 3), UN_STR("no"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 4), UN_STR("honey"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 5), UN_STR("mustard"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 6), UN_STR("a"))); un_list_destroy(&splits, true); splits = un_string_split(UN_STR("a||Eatin||burger||wit||no||honey||mustard||a"), UN_STR("||"), talloc); assert(splits.count == 8); assert(!un_string_compare(*(String*)un_list_get(&splits, 0), UN_STR("a"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 1), UN_STR("Eatin"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 2), UN_STR("burger"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 3), UN_STR("wit"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 4), UN_STR("no"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 5), UN_STR("honey"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 6), UN_STR("mustard"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 7), UN_STR("a"))); un_list_destroy(&splits, true); splits = un_string_split(UN_STR("||Eatin||burger||wit||no||honey||mustard||"), UN_STR("||"), talloc); assert(splits.count == 6); assert(!un_string_compare(*(String*)un_list_get(&splits, 0), UN_STR("Eatin"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 1), UN_STR("burger"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 2), UN_STR("wit"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 3), UN_STR("no"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 4), UN_STR("honey"))); assert(!un_string_compare(*(String*)un_list_get(&splits, 5), UN_STR("mustard"))); assert(!un_string_compare(un_string_join(splits, UN_STR(" "), talloc), UN_STR("Eatin burger wit no honey mustard"))); un_list_destroy(&splits, true); assert(!un_string_compare(un_string_substring(UN_STR("HelloWorld!"), 5, 6), UN_STR("World!"))); assert(!un_string_compare(un_string_substring(UN_STR("HelloWorld!"), 0, 11), UN_STR("HelloWorld!"))); assert(!un_string_compare(un_string_substring(UN_STR("HelloWorld!"), 10, 1), UN_STR("!"))); assert(un_string_index_of(UN_STR("CP/M"), (u8)'/', 0) == 2); assert(un_string_index_of_last(UN_STR("https://github.com/bonmas14"), (u8)'/') == 18); assert(!un_string_compare(un_string_swap(UN_STR("/path/from/unix/systems/"), (u8)'/', (u8) '\\', talloc), UN_STR("\\path\\from\\unix\\systems\\"))); assert(!un_string_compare( un_string_format(talloc, UN_STR("/path/%s/unix/a %d %u %%"), UN_STR("test"), (s64)-100, (u64)404), UN_STR("/path/test/unix/a -100 404 %") ) ); }