summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests/queryeval/getnodeweight/getnodeweight_test.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/tests/queryeval/getnodeweight/getnodeweight_test.cpp')
-rw-r--r--searchlib/src/tests/queryeval/getnodeweight/getnodeweight_test.cpp49
1 files changed, 49 insertions, 0 deletions
diff --git a/searchlib/src/tests/queryeval/getnodeweight/getnodeweight_test.cpp b/searchlib/src/tests/queryeval/getnodeweight/getnodeweight_test.cpp
new file mode 100644
index 00000000000..949a1364061
--- /dev/null
+++ b/searchlib/src/tests/queryeval/getnodeweight/getnodeweight_test.cpp
@@ -0,0 +1,49 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+#include <vespa/fastos/fastos.h>
+#include <vespa/log/log.h>
+LOG_SETUP("getweight_test");
+#include <vespa/vespalib/testkit/testapp.h>
+
+#include <vespa/searchlib/query/tree/simplequery.h>
+#include <vespa/searchlib/queryeval/get_weight_from_node.h>
+
+using namespace search::query;
+using namespace search::queryeval;
+
+class Test : public vespalib::TestApp {
+public:
+ int32_t getWeight(const Node &node);
+ int Main();
+};
+
+int32_t
+Test::getWeight(const Node &node) {
+ return getWeightFromNode(node).percent();
+}
+
+int
+Test::Main()
+{
+ TEST_INIT("getweight_test");
+ EXPECT_EQUAL(0, getWeight(SimpleAnd()));
+ EXPECT_EQUAL(0, getWeight(SimpleAndNot()));
+ EXPECT_EQUAL(42, getWeight(SimpleEquiv(0, Weight(42))));
+ EXPECT_EQUAL(42, getWeight(SimpleNumberTerm("foo", "bar", 1, Weight(42))));
+ EXPECT_EQUAL(42, getWeight(SimpleLocationTerm(Location(), "bar", 1, Weight(42))));
+ EXPECT_EQUAL(0, getWeight(SimpleNear(5)));
+ EXPECT_EQUAL(0, getWeight(SimpleONear(5)));
+ EXPECT_EQUAL(0, getWeight(SimpleOr()));
+ EXPECT_EQUAL(42, getWeight(SimplePhrase("bar", 1, Weight(42))));
+ EXPECT_EQUAL(42, getWeight(SimplePrefixTerm("foo", "bar", 1, Weight(42))));
+ EXPECT_EQUAL(42, getWeight(SimpleRangeTerm(Range(), "bar", 1, Weight(42))));
+ EXPECT_EQUAL(0, getWeight(SimpleRank()));
+ EXPECT_EQUAL(42, getWeight(SimpleStringTerm("foo", "bar", 1, Weight(42))));
+ EXPECT_EQUAL(42, getWeight(SimpleSubstringTerm("foo", "bar", 1, Weight(42))));
+ EXPECT_EQUAL(42, getWeight(SimpleSuffixTerm("foo", "bar", 1, Weight(42))));
+ EXPECT_EQUAL(42, getWeight(SimpleWeightedSetTerm("bar", 1, Weight(42))));
+ EXPECT_EQUAL(42, getWeight(SimpleDotProduct("bar", 1, Weight(42))));
+ EXPECT_EQUAL(42, getWeight(SimpleWandTerm("bar", 1, Weight(42), 57, 67, 77.7)));
+ TEST_DONE();
+}
+
+TEST_APPHOOK(Test);