From b3279e2c85e2e4ddd54a24e4eba3e12a76971e19 Mon Sep 17 00:00:00 2001 From: krunal1313 Date: Mon, 1 May 2023 12:31:45 +0530 Subject: [PATCH] adding test for float value truncation --- test/collection_faceting_test.cpp | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/test/collection_faceting_test.cpp b/test/collection_faceting_test.cpp index 63081292..8dd99404 100644 --- a/test/collection_faceting_test.cpp +++ b/test/collection_faceting_test.cpp @@ -1575,6 +1575,28 @@ TEST_F(CollectionFacetingTest, FacetOnArrayFieldWithSpecialChars) { } } +TEST_F(CollectionFacetingTest, FloatFieldValueTruncation) { + std::vector fields = { + field("tags", field_types::STRING_ARRAY, true), + field("points", field_types::FLOAT, true), + }; + + Collection* coll1 = collectionManager.create_collection("coll1", 1, fields).get(); + + nlohmann::json doc; + doc["tags"] = {"gamma"}; + doc["points"] = 300; + ASSERT_TRUE(coll1->add(doc.dump()).ok()); + + auto results = coll1->search("*", {}, + "", {"points"}, {}, {2}, 10, 1, FREQUENCY, {true}, 1).get(); + + ASSERT_EQ(1, results["facet_counts"].size()); + ASSERT_EQ(1, results["facet_counts"][0]["counts"].size()); + + ASSERT_EQ("300", results["facet_counts"][0]["counts"][0]["value"].get()); +} + class CollectionOptimizedFacetingTest : public ::testing::Test { protected: