/
githubmirror
/
nbs
Обзор
Документация
Войти
/
githubmirror
/
nbs
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
util/string/util_ut.cpp
46 строк
1 KB
qkrorlqr
Initial NBS OpenSource export
28 апр 2023, 21:54
28 апр 2023, 21:54
783a858
Код
Авторство
О чём код?
#include "util.h" #include <library/cpp/testing/unittest/registar.h> class TStrUtilTest: public TTestBase { UNIT_TEST_SUITE(TStrUtilTest); UNIT_TEST(TestSpn); UNIT_TEST(TestRemoveAll); UNIT_TEST_SUITE_END(); public: void TestSpn() { str_spn rul("a-z", true); char s[] = "!@#$ab%^&c+-"; UNIT_ASSERT_EQUAL(rul.brk(s), s + 4); UNIT_ASSERT_EQUAL(rul.brk(s + 4), s + 4); UNIT_ASSERT_EQUAL(rul.brk(s + 10), s + 12); char* s1 = s; UNIT_ASSERT_EQUAL(strcmp(rul.sep(s1), "!@#$"), 0); UNIT_ASSERT_EQUAL(strcmp(rul.sep(s1), ""), 0); UNIT_ASSERT_EQUAL(strcmp(rul.sep(s1), "%^&"), 0); UNIT_ASSERT_EQUAL(strcmp(rul.sep(s1), "+-"), 0); UNIT_ASSERT_EQUAL(rul.sep(s1), nullptr); } void TestRemoveAll() { static const struct T { const char* Str; char Ch; const char* Result; } tests[] = { {"", 'x', ""}, {"hello world", 'h', "ello world"}, {"hello world", 'l', "heo word"}, {"hello world", 'x', "hello world"}, }; for (const T* t = tests; t != std::end(tests); ++t) { TString str(t->Str); RemoveAll(str, t->Ch); UNIT_ASSERT_EQUAL(t->Result, str); } } }; UNIT_TEST_SUITE_REGISTRATION(TStrUtilTest);