diff options
author | Henning Baldersheim <balder@yahoo-inc.com> | 2023-11-04 11:53:31 +0000 |
---|---|---|
committer | Henning Baldersheim <balder@yahoo-inc.com> | 2023-11-04 14:47:36 +0000 |
commit | 84c7d221a5dc11cc69d04bb298f3738b06f1190b (patch) | |
tree | a2e2733a617af7e471be8302ca7cf81473cb6a97 /searchlib/src/tests/attribute | |
parent | 4cb30d8957593a29d62f787e81d0ea6734a21974 (diff) |
Add and test correct implementation for undefined const char values
Diffstat (limited to 'searchlib/src/tests/attribute')
-rw-r--r-- | searchlib/src/tests/attribute/attribute_header/attribute_header_test.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/searchlib/src/tests/attribute/attribute_header/attribute_header_test.cpp b/searchlib/src/tests/attribute/attribute_header/attribute_header_test.cpp index 0ee82e2128a..bfd124ae75c 100644 --- a/searchlib/src/tests/attribute/attribute_header/attribute_header_test.cpp +++ b/searchlib/src/tests/attribute/attribute_header/attribute_header_test.cpp @@ -2,6 +2,7 @@ #include <vespa/eval/eval/value_type.h> #include <vespa/searchcommon/attribute/config.h> +#include <vespa/searchcommon/common/undefinedvalues.h> #include <vespa/searchlib/attribute/attribute_header.h> #include <vespa/vespalib/data/fileheader.h> #include <vespa/vespalib/gtest/gtest.h> @@ -78,5 +79,25 @@ TEST(AttributeHeaderTest, can_be_added_to_and_extracted_from_generic_header) verify_roundtrip_serialization(HnswIPO()); } +TEST(UndefinedValues, isUndefined) { + EXPECT_TRUE(isUndefined("")); + EXPECT_TRUE(isUndefined(nullptr)); + EXPECT_FALSE(isUndefined(" ")); + + EXPECT_FALSE(isUndefined<int8_t>(0)); + EXPECT_FALSE(isUndefined<int16_t>(0)); + EXPECT_FALSE(isUndefined<int32_t>(0)); + EXPECT_FALSE(isUndefined<int64_t>(0)); + EXPECT_FALSE(isUndefined<float>(0)); + EXPECT_FALSE(isUndefined<double>(0)); + + EXPECT_TRUE(isUndefined<int8_t>(std::numeric_limits<int8_t>::min())); + EXPECT_TRUE(isUndefined<int16_t>(std::numeric_limits<int16_t>::min())); + EXPECT_TRUE(isUndefined<int32_t>(std::numeric_limits<int32_t>::min())); + EXPECT_TRUE(isUndefined<int64_t>(std::numeric_limits<int64_t>::min())); + EXPECT_TRUE(isUndefined<float>(std::numeric_limits<float>::quiet_NaN())); + EXPECT_TRUE(isUndefined<double>(std::numeric_limits<double>::quiet_NaN())); +} + GTEST_MAIN_RUN_ALL_TESTS() |