aboutsummaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/features/util/util_test.cpp
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@oath.com>2019-06-14 15:39:32 +0000
committerHenning Baldersheim <balder@oath.com>2019-06-14 15:39:32 +0000
commit44f5b006837d5905c8140813e2ca48e2998cc09d (patch)
treea4de918f146340a423b61d086e6657c8b5d083c7 /searchlib/src/tests/features/util/util_test.cpp
parentf1fcc615286a9637101458c298980525a0d1eaa7 (diff)
Add test and fix decoding of hex numbers.
Diffstat (limited to 'searchlib/src/tests/features/util/util_test.cpp')
-rw-r--r--searchlib/src/tests/features/util/util_test.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/searchlib/src/tests/features/util/util_test.cpp b/searchlib/src/tests/features/util/util_test.cpp
index 6b166682346..208c290cff3 100644
--- a/searchlib/src/tests/features/util/util_test.cpp
+++ b/searchlib/src/tests/features/util/util_test.cpp
@@ -8,6 +8,7 @@ using namespace search;
using namespace search::fef;
using namespace search::fef::test;
using namespace search::features;
+using namespace search::features::util;
SimpleTermData make_term(uint32_t uid) {
SimpleTermData term;
@@ -37,4 +38,23 @@ TEST_F("require that label can be mapped to term", TermLabelFixture) {
EXPECT_EQUAL((ITermData*)0, util::getTermByLabel(f1.queryEnv, "unknown"));
}
+template <typename T>
+void verifyStrToNum() {
+ EXPECT_EQUAL(-17, static_cast<long>(strToNum<T>("-17")));
+ EXPECT_EQUAL(-1, static_cast<long>(strToNum<T>("-1")));
+ EXPECT_EQUAL(0, static_cast<long>(strToNum<T>("0")));
+ EXPECT_EQUAL(1, static_cast<long>(strToNum<T>("1")));
+ EXPECT_EQUAL(17, static_cast<long>(strToNum<T>("17")));
+ EXPECT_EQUAL(0, static_cast<long>(strToNum<T>("0x0")));
+ EXPECT_EQUAL(1, static_cast<long>(strToNum<T>("0x1")));
+ EXPECT_EQUAL(27, static_cast<long>(strToNum<T>("0x1b")));
+}
+
+TEST("verify str2Num") {
+ verifyStrToNum<int8_t>();
+ verifyStrToNum<int16_t>();
+ verifyStrToNum<int32_t>();
+ verifyStrToNum<int64_t>();
+}
+
TEST_MAIN() { TEST_RUN_ALL(); }