diff options
Diffstat (limited to 'searchlib/src/tests')
-rw-r--r-- | searchlib/src/tests/attribute/enum_comparator/enum_comparator_test.cpp | 39 |
1 files changed, 36 insertions, 3 deletions
diff --git a/searchlib/src/tests/attribute/enum_comparator/enum_comparator_test.cpp b/searchlib/src/tests/attribute/enum_comparator/enum_comparator_test.cpp index f99a4c4b3f9..c578f823dfd 100644 --- a/searchlib/src/tests/attribute/enum_comparator/enum_comparator_test.cpp +++ b/searchlib/src/tests/attribute/enum_comparator/enum_comparator_test.cpp @@ -267,14 +267,14 @@ TEST(EnumComparatorTest, require_that_cased_less_is_working) EXPECT_EQ((EnumIndexVector{e1, e4, e3, e2}), vec); } -TEST(DfaStringComparatorTest, require_that_less_is_working) +TEST(DfaStringComparatorTest, require_that_folded_less_is_working) { StringEnumStore es(false, DictionaryConfig::Type::BTREE); EnumIndex e1 = es.insert("Aa"); EnumIndex e2 = es.insert("aa"); EnumIndex e3 = es.insert("aB"); auto aa_utf32 = as_utf32("aa"); - DfaStringComparator cmp1(es.get_data_store(), aa_utf32); + DfaStringComparator cmp1(es.get_data_store(), aa_utf32, false); EXPECT_FALSE(cmp1.less(EnumIndex(), e1)); EXPECT_FALSE(cmp1.less(EnumIndex(), e2)); EXPECT_TRUE(cmp1.less(EnumIndex(), e3)); @@ -282,7 +282,7 @@ TEST(DfaStringComparatorTest, require_that_less_is_working) EXPECT_FALSE(cmp1.less(e2, EnumIndex())); EXPECT_FALSE(cmp1.less(e3, EnumIndex())); auto Aa_utf32 = as_utf32("Aa"); - DfaStringComparator cmp2(es.get_data_store(), Aa_utf32); + DfaStringComparator cmp2(es.get_data_store(), Aa_utf32, false); EXPECT_TRUE(cmp2.less(EnumIndex(), e1)); EXPECT_TRUE(cmp2.less(EnumIndex(), e2)); EXPECT_TRUE(cmp2.less(EnumIndex(), e3)); @@ -291,6 +291,39 @@ TEST(DfaStringComparatorTest, require_that_less_is_working) EXPECT_FALSE(cmp2.less(e3, EnumIndex())); } +TEST(DfaStringComparatorTest, require_that_cased_less_is_working) +{ + StringEnumStore es(false, DictionaryConfig(DictionaryConfig::Type::BTREE, DictionaryConfig::Match::CASED)); + auto e1 = es.insert("Aa"); + auto e2 = es.insert("aa"); + auto e3 = es.insert("aB"); + auto uaa_utf32 = as_utf32("Aa"); + auto aa_utf32 = as_utf32("aa"); + DfaStringComparator cmp1(es.get_data_store(), uaa_utf32, true); + DfaStringComparator cmp2(es.get_data_store(), aa_utf32, true); + EXPECT_FALSE(cmp1.less(e1, e1)); + EXPECT_TRUE(cmp1.less(e1, e2)); + EXPECT_TRUE(cmp1.less(e1, e3)); + EXPECT_FALSE(cmp1.less(e2, e1)); + EXPECT_FALSE(cmp1.less(e2, e2)); + EXPECT_FALSE(cmp1.less(e2, e3)); + EXPECT_FALSE(cmp1.less(e3, e1)); + EXPECT_TRUE(cmp1.less(e3, e2)); + EXPECT_FALSE(cmp1.less(e3, e3)); + EXPECT_FALSE(cmp1.less(EnumIndex(), e1)); + EXPECT_TRUE(cmp1.less(EnumIndex(), e2)); + EXPECT_TRUE(cmp1.less(EnumIndex(), e3)); + EXPECT_FALSE(cmp2.less(EnumIndex(), e1)); + EXPECT_FALSE(cmp2.less(EnumIndex(), e2)); + EXPECT_FALSE(cmp2.less(EnumIndex(), e3)); + EXPECT_FALSE(cmp1.less(e1, EnumIndex())); + EXPECT_FALSE(cmp1.less(e2, EnumIndex())); + EXPECT_FALSE(cmp1.less(e3, EnumIndex())); + EXPECT_TRUE(cmp2.less(e1, EnumIndex())); + EXPECT_FALSE(cmp2.less(e2, EnumIndex())); + EXPECT_TRUE(cmp2.less(e3, EnumIndex())); +} + } GTEST_MAIN_RUN_ALL_TESTS() |