Files
latch/tests/container/test_sring.cpp
2024-12-03 17:12:18 +08:00

47 lines
1.3 KiB
C++

#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);
}