adding test for negative ranges

This commit is contained in:
krunal 2023-10-25 20:41:46 +05:30
parent e035aa0848
commit ddf4de17be

View File

@ -1766,6 +1766,72 @@ TEST_F(CollectionFacetingTest, RangeFacetRangeLabelWithSpace) {
ASSERT_EQ("small tvs with display size", results["facet_counts"][0]["counts"][0]["value"]);
}
TEST_F(CollectionFacetingTest, RangeFacetRangeNegativeRanges) {
std::vector<field> fields = {field("team", field_types::STRING, false),
field("nrr", field_types::FLOAT, true),};
Collection* coll1 = collectionManager.create_collection(
"coll1", 1, fields, "", 0, "",
{},{}).get();
nlohmann::json doc;
doc["id"] = "0";
doc["team"] = "india";
doc["nrr"] = 1.353;
ASSERT_TRUE(coll1->add(doc.dump()).ok());
doc["id"] = "1";
doc["team"] = "australia";
doc["nrr"] = -0.193;
ASSERT_TRUE(coll1->add(doc.dump()).ok());
doc["id"] = "2";
doc["team"] = "pakistan";
doc["nrr"] = -0.400;
ASSERT_TRUE(coll1->add(doc.dump()).ok());
doc["id"] = "3";
doc["team"] = "afghanistan";
doc["nrr"] = -0.969;
ASSERT_TRUE(coll1->add(doc.dump()).ok());
doc["id"] = "4";
doc["team"] = "srilanka";
doc["nrr"] = -1.048;
ASSERT_TRUE(coll1->add(doc.dump()).ok());
doc["id"] = "5";
doc["team"] = "england";
doc["nrr"] = -1.248;
ASSERT_TRUE(coll1->add(doc.dump()).ok());
doc["id"] = "6";
doc["team"] = "bangladesh";
doc["nrr"] = -1.253;
ASSERT_TRUE(coll1->add(doc.dump()).ok());
doc["id"] = "7";
doc["team"] = "new zealand";
doc["nrr"] = 1.481;
ASSERT_TRUE(coll1->add(doc.dump()).ok());
auto results = coll1->search("*", {},
"", {"nrr(poor:[-1.5,-1], decent:[-1,0], good:[0,2])"},
{}, {2}, 10,
1, FREQUENCY, {true},
10, spp::sparse_hash_set<std::string>(),
spp::sparse_hash_set<std::string>(), 10, "", 30, 4, "", 10, {}, {}, {}, 0,
"<mark>", "</mark>", {}, 1000,
true, false, true, "", true).get();
ASSERT_EQ(3, results["facet_counts"][0]["counts"].size());
ASSERT_EQ(3, (int) results["facet_counts"][0]["counts"][0]["count"]);
ASSERT_EQ("poor", results["facet_counts"][0]["counts"][0]["value"]);
ASSERT_EQ(3, (int) results["facet_counts"][0]["counts"][1]["count"]);
ASSERT_EQ("decent", results["facet_counts"][0]["counts"][1]["value"]);
ASSERT_EQ(2, (int) results["facet_counts"][0]["counts"][2]["count"]);
ASSERT_EQ("good", results["facet_counts"][0]["counts"][2]["value"]);
}
TEST_F(CollectionFacetingTest, SampleFacetCounts) {
nlohmann::json schema = R"({
"name": "coll1",