#include "latch/container/lt-string.h" #include "gtest/gtest.h" TEST(TestString, StringNew) { lt_string_t *str = lt_string_new("Hello World"); EXPECT_STREQ(str->data, "Hello World"); lt_string_close(str); } TEST(TestString, StringReverse) { lt_string_t *str = lt_string_new("Hello World"); EXPECT_STREQ(str->data, "Hello World"); lt_string_t *str_r = lt_string_reverse(str); EXPECT_STREQ(str_r->data, "dlroW olleH"); lt_string_close(str); lt_string_close(str_r); } TEST(TestString, StringCut) { lt_string_t *str = lt_string_new("Hello World"); EXPECT_STREQ(str->data, "Hello World"); EXPECT_EQ(str->length, 11); lt_string_t *str_c = lt_string_cut(str, 0, 5, 1); EXPECT_STREQ(str_c->data, "Hello"); EXPECT_EQ(str_c->length, 5); lt_string_t *str_c1 = lt_string_cut(str, 0, 5, -1); EXPECT_STREQ(str_c1->data, "dlroW"); EXPECT_EQ(str_c1->length, 5); lt_string_t *str_c2 = lt_string_cut(str, 0, 5, 2); EXPECT_STREQ(str_c2->data, "Hlo"); EXPECT_EQ(str_c2->length, 3); lt_string_t *str_c3 = lt_string_cut(str, 0, 5, -2); EXPECT_STREQ(str_c3->data, "drW"); EXPECT_EQ(str_c3->length, 3); lt_string_close(str); lt_string_close(str_c); lt_string_close(str_c1); lt_string_close(str_c2); lt_string_close(str_c3); }