From 399be44fbc3767e7c1ff505119f9e07ee25b1078 Mon Sep 17 00:00:00 2001 From: Clement Sibille Date: Sun, 19 May 2024 23:33:44 +0900 Subject: Add String_eq and update the String API --- tests/string.c | 29 ++++++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) (limited to 'tests/string.c') diff --git a/tests/string.c b/tests/string.c index e3d68f4..6b4d411 100644 --- a/tests/string.c +++ b/tests/string.c @@ -2,13 +2,32 @@ #include "test.h" #include -void t_String_from_str(void) { - String string; - String_from_str(&system_allocator, &string, "Some string"); - T_ASSERT(strncmp(string.value, "Some string", 11)); +void t_String_new(void) { + String string = String_new(&system_allocator, "Some string"); + T_ASSERT(strncmp(string.value, "Some string", 11) == 0); T_ASSERT_EQ(string.length, 11); + String_destroy(&system_allocator, &string); +} + +void t_String_eq(void) { + String first_string = String_new(&system_allocator, "abc"); + String second_string = String_new(&system_allocator, "abc"); + String third_string = String_new(&system_allocator, "bcd"); + T_ASSERT(String_eq(&first_string, &second_string)); + T_ASSERT(!String_eq(&second_string, &third_string)); + T_ASSERT(!String_eq(&second_string, NULL)); + T_ASSERT(!String_eq(NULL, NULL)); + String_destroy(&system_allocator, &first_string); + String_destroy(&system_allocator, &second_string); + String_destroy(&system_allocator, &third_string); +} +void t_String_view(void) { + String string = String_new(&system_allocator, "abc"); + StringView string_view = String_view(&string); + T_ASSERT_EQ(string_view.length, 3); + T_ASSERT(strncmp(string_view.value, "abc", 3) == 0); String_destroy(&system_allocator, &string); } -TEST_SUITE(TEST(t_String_from_str)) +TEST_SUITE(TEST(t_String_new), TEST(t_String_eq), TEST(t_String_view)) -- cgit v1.2.3