47 lines
1.3 KiB
C++
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);
|
|
} |