| #include "upb/base/string_view.h" | |
| #include <string> | |
| #include <gtest/gtest.h> | |
| namespace { | |
| TEST(upb_StringView, Compare_Eq) { | |
| std::string s1("12345"); | |
| std::string s2("12345"); | |
| upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size()); | |
| upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size()); | |
| ASSERT_EQ(upb_StringView_Compare(h1, h2), 0); | |
| } | |
| TEST(upb_StringView, Compare_Eq_Shorter) { | |
| std::string s1("1234"); // s1 is shorter. | |
| std::string s2("12345"); | |
| upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size()); | |
| upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size()); | |
| ASSERT_LT(upb_StringView_Compare(h1, h2), 0); | |
| } | |
| TEST(upb_StringView, Compare_Eq_Longer) { | |
| std::string s1("123456"); // s1 is longer. | |
| std::string s2("12345"); | |
| upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size()); | |
| upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size()); | |
| ASSERT_GT(upb_StringView_Compare(h1, h2), 0); | |
| } | |
| TEST(upb_StringView, Compare_Less) { | |
| std::string s1("12245"); // 2 < 3 | |
| std::string s2("12345"); | |
| upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size()); | |
| upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size()); | |
| ASSERT_LT(upb_StringView_Compare(h1, h2), 0); | |
| } | |
| TEST(upb_StringView, Compare_Greater) { | |
| std::string s1("12445"); // 4 > 3 | |
| std::string s2("12345"); | |
| upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size()); | |
| upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size()); | |
| ASSERT_GT(upb_StringView_Compare(h1, h2), 0); | |
| } | |
| TEST(upb_StringView, Compare_Greater_Shorter) { | |
| std::string s1("1244"); // s1 is shorter but 4 > 3. | |
| std::string s2("12345"); | |
| upb_StringView h1 = upb_StringView_FromDataAndSize(s1.data(), s1.size()); | |
| upb_StringView h2 = upb_StringView_FromDataAndSize(s2.data(), s2.size()); | |
| ASSERT_GT(upb_StringView_Compare(h1, h2), 0); | |
| } | |
| } // namespace |