1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #include "case_insensitive_string.h"
- #include <util/generic/string_ut.h>
- class TCaseInsensitiveStringTest : public TTestBase, private TStringTestImpl<TCaseInsensitiveString, TTestData<char>> {
- public:
- UNIT_TEST_SUITE(TCaseInsensitiveStringTest);
- UNIT_TEST(TestOperators);
- UNIT_TEST(TestOperatorsCI);
- UNIT_TEST_SUITE_END();
- };
- UNIT_TEST_SUITE_REGISTRATION(TCaseInsensitiveStringTest);
- Y_UNIT_TEST_SUITE(TCaseInsensitiveStringTestEx) {
- Y_UNIT_TEST(BasicTString) {
- TCaseInsensitiveString foo("foo");
- TCaseInsensitiveString FOO("FOO");
- TCaseInsensitiveString Bar("Bar");
- TCaseInsensitiveString bAR("bAR");
- UNIT_ASSERT_EQUAL(foo, FOO);
- UNIT_ASSERT_EQUAL(Bar, bAR);
- constexpr TCaseInsensitiveStringBuf foobar("foobar");
- UNIT_ASSERT(foobar.StartsWith(foo));
- UNIT_ASSERT(foobar.StartsWith(FOO));
- UNIT_ASSERT(foobar.EndsWith(Bar));
- UNIT_ASSERT(foobar.EndsWith(bAR));
- UNIT_ASSERT(foobar.Contains(FOO));
- UNIT_ASSERT(foobar.Contains(Bar));
- }
- Y_UNIT_TEST(BasicStdString) {
- using TCaseInsensitiveStdString = std::basic_string<char, TCaseInsensitiveCharTraits>;
- using TCaseInsensitiveStringView = std::basic_string_view<char, TCaseInsensitiveCharTraits>;
- TCaseInsensitiveStdString foo("foo");
- TCaseInsensitiveStdString FOO("FOO");
- TCaseInsensitiveStdString Bar("Bar");
- TCaseInsensitiveStdString bAR("bAR");
- UNIT_ASSERT_EQUAL(foo, FOO);
- UNIT_ASSERT_EQUAL(Bar, bAR);
- constexpr TCaseInsensitiveStringView foobar("foobar");
- UNIT_ASSERT(foobar.starts_with(foo));
- UNIT_ASSERT(foobar.starts_with(FOO));
- UNIT_ASSERT(foobar.ends_with(Bar));
- UNIT_ASSERT(foobar.ends_with(bAR));
- //TODO: test contains after C++23
- }
- /*
- Y_UNIT_TEST(TestSplit) {
- TCaseInsensitiveStringBuf input("splitAmeAbro");
- TVector<TCaseInsensitiveStringBuf> expected{"split", "me", "bro"};
- TVector<TCaseInsensitiveStringBuf> split = StringSplitter(input).Split('a');
- UNIT_ASSERT_VALUES_EQUAL(split, expected);
- }
- */
- }
|