aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/attribute/enum_comparator/enum_comparator_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/tests/attribute/enum_comparator/enum_comparator_test.cpp')
-rw-r--r--searchlib/src/tests/attribute/enum_comparator/enum_comparator_test.cpp39
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()