summaryrefslogtreecommitdiffstats
path: root/searchlib/src/tests
diff options
context:
space:
mode:
Diffstat (limited to 'searchlib/src/tests')
-rw-r--r--searchlib/src/tests/attribute/searchable/attribute_searchable_adapter_test.cpp50
-rw-r--r--searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp33
-rw-r--r--searchlib/src/tests/common/location/geo_location_test.cpp127
-rw-r--r--searchlib/src/tests/common/location/location_test.cpp88
-rw-r--r--searchlib/src/tests/query/query_visitor_test.cpp2
-rw-r--r--searchlib/src/tests/query/querybuilder_test.cpp2
6 files changed, 164 insertions, 138 deletions
diff --git a/searchlib/src/tests/attribute/searchable/attribute_searchable_adapter_test.cpp b/searchlib/src/tests/attribute/searchable/attribute_searchable_adapter_test.cpp
index 2eafeab20bd..87aea2e3e8c 100644
--- a/searchlib/src/tests/attribute/searchable/attribute_searchable_adapter_test.cpp
+++ b/searchlib/src/tests/attribute/searchable/attribute_searchable_adapter_test.cpp
@@ -339,29 +339,43 @@ TEST("requireThatPrefixTermsWork") {
TEST("requireThatLocationTermsWork") {
// 0xcc is z-curve for (10, 10).
MyAttributeManager attribute_manager = makeAttributeManager(int64_t(0xcc));
-
- SimpleLocationTerm node(Location(Point(10, 10), 3, 0), field, 0, Weight(0));
- EXPECT_TRUE(search(node, attribute_manager));
- node = SimpleLocationTerm(Location(Point(100, 100), 3, 0), field, 0, Weight(0));
- EXPECT_TRUE(!search(node, attribute_manager));
- node = SimpleLocationTerm(Location(Point(13, 13), 4, 0), field, 0, Weight(0));
- EXPECT_TRUE(!search(node, attribute_manager));
- node = SimpleLocationTerm(Location(Point(10, 13), 3, 0), field, 0, Weight(0));
- EXPECT_TRUE(search(node, attribute_manager));
+ {
+ SimpleLocationTerm node(Location(Point{10, 10}, 3, 0), field, 0, Weight(0));
+ EXPECT_TRUE(search(node, attribute_manager));
+ }
+ {
+ SimpleLocationTerm node(Location(Point{100, 100}, 3, 0), field, 0, Weight(0));
+ EXPECT_TRUE(!search(node, attribute_manager));
+ }
+ {
+ SimpleLocationTerm node(Location(Point{13, 13}, 4, 0), field, 0, Weight(0));
+ EXPECT_TRUE(!search(node, attribute_manager));
+ }
+ {
+ SimpleLocationTerm node(Location(Point{10, 13}, 3, 0), field, 0, Weight(0));
+ EXPECT_TRUE(search(node, attribute_manager));
+ }
}
TEST("requireThatOptimizedLocationTermsWork") {
// 0xcc is z-curve for (10, 10).
MyAttributeManager attribute_manager = makeFastSearchLongAttributeManager(int64_t(0xcc));
-
- SimpleLocationTerm node(Location(Point(10, 10), 3, 0), field, 0, Weight(0));
- EXPECT_TRUE(search(node, attribute_manager, true));
- node = SimpleLocationTerm(Location(Point(100, 100), 3, 0), field, 0, Weight(0));
- EXPECT_TRUE(!search(node, attribute_manager, true));
- node = SimpleLocationTerm(Location(Point(13, 13), 4, 0), field, 0, Weight(0));
- EXPECT_TRUE(!search(node, attribute_manager, true));
- node = SimpleLocationTerm(Location(Point(10, 13), 3, 0), field, 0, Weight(0));
- EXPECT_TRUE(search(node, attribute_manager, true));
+ {
+ SimpleLocationTerm node(Location(Point{10, 10}, 3, 0), field, 0, Weight(0));
+ EXPECT_TRUE(search(node, attribute_manager, true));
+ }
+ {
+ SimpleLocationTerm node(Location(Point{100, 100}, 3, 0), field, 0, Weight(0));
+ EXPECT_TRUE(!search(node, attribute_manager, true));
+ }
+ {
+ SimpleLocationTerm node(Location(Point{13, 13}, 4, 0), field, 0, Weight(0));
+ EXPECT_TRUE(!search(node, attribute_manager, true));
+ }
+ {
+ SimpleLocationTerm node(Location(Point{10, 13}, 3, 0), field, 0, Weight(0));
+ EXPECT_TRUE(search(node, attribute_manager, true));
+ }
}
TEST("require that optimized location search works with wrapped bounding box (no hits)") {
diff --git a/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp b/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp
index 5e633dcc97d..3098232b443 100644
--- a/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp
+++ b/searchlib/src/tests/attribute/searchable/attributeblueprint_test.cpp
@@ -254,15 +254,22 @@ TEST(AttributeBlueprintTest, require_that_location_terms_work)
{
// 0xcc is z-curve for (10, 10).
auto attribute_manager = makeAttributeManager(int64_t(0xcc));
-
- SimpleLocationTerm node(Location(Point(10, 10), 3, 0), field, 0, Weight(0));
- EXPECT_TRUE(do_search(node, attribute_manager, false));
- node = SimpleLocationTerm(Location(Point(100, 100), 3, 0), field, 0, Weight(0));
- EXPECT_TRUE(!do_search(node, attribute_manager, false));
- node = SimpleLocationTerm(Location(Point(13, 13), 4, 0), field, 0, Weight(0));
- EXPECT_TRUE(!do_search(node, attribute_manager, false));
- node = SimpleLocationTerm(Location(Point(10, 13), 3, 0), field, 0, Weight(0));
- EXPECT_TRUE(do_search(node, attribute_manager, false));
+ {
+ SimpleLocationTerm node(Location(Point{10, 10}, 3, 0), field, 0, Weight(0));
+ EXPECT_TRUE(do_search(node, attribute_manager, false));
+ }
+ {
+ SimpleLocationTerm node(Location(Point{100, 100}, 3, 0), field, 0, Weight(0));
+ EXPECT_TRUE(!do_search(node, attribute_manager, false));
+ }
+ {
+ SimpleLocationTerm node(Location(Point{13, 13}, 4, 0), field, 0, Weight(0));
+ EXPECT_TRUE(!do_search(node, attribute_manager, false));
+ }
+ {
+ SimpleLocationTerm node(Location(Point{10, 13}, 3, 0), field, 0, Weight(0));
+ EXPECT_TRUE(do_search(node, attribute_manager, false));
+ }
}
TEST(AttributeBlueprintTest, require_that_fast_search_location_terms_work)
@@ -270,14 +277,14 @@ TEST(AttributeBlueprintTest, require_that_fast_search_location_terms_work)
// 0xcc is z-curve for (10, 10).
auto attribute_manager = makeFastSearchLongAttribute(int64_t(0xcc));
- SimpleLocationTerm node(Location(Point(10, 10), 3, 0), field, 0, Weight(0));
+ SimpleLocationTerm node(Location(Point{10, 10}, 3, 0), field, 0, Weight(0));
#if 0
EXPECT_TRUE(search(node, attribute_manager));
- node = SimpleLocationTerm(Location(Point(100, 100), 3, 0),field, 0, Weight(0));
+ node = SimpleLocationTerm(Location(Point{100, 100}, 3, 0),field, 0, Weight(0));
EXPECT_TRUE(!search(node, attribute_manager));
- node = SimpleLocationTerm(Location(Point(13, 13), 4, 0),field, 0, Weight(0));
+ node = SimpleLocationTerm(Location(Point{13, 13}, 4, 0),field, 0, Weight(0));
EXPECT_TRUE(!search(node, attribute_manager));
- node = SimpleLocationTerm(Location(Point(10, 13), 3, 0),field, 0, Weight(0));
+ node = SimpleLocationTerm(Location(Point{10, 13}, 3, 0),field, 0, Weight(0));
EXPECT_TRUE(search(node, attribute_manager));
#endif
}
diff --git a/searchlib/src/tests/common/location/geo_location_test.cpp b/searchlib/src/tests/common/location/geo_location_test.cpp
index b29133172df..d639a44c0a4 100644
--- a/searchlib/src/tests/common/location/geo_location_test.cpp
+++ b/searchlib/src/tests/common/location/geo_location_test.cpp
@@ -1,9 +1,12 @@
// Copyright Verizon Media. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include <stdio.h>
+#include <vespa/searchlib/common/geo_location.h>
#include <vespa/searchlib/common/geo_location_spec.h>
+#include <vespa/searchlib/common/geo_location_parser.h>
#include <vespa/vespalib/gtest/gtest.h>
+using search::common::GeoLocation;
using search::common::GeoLocationParser;
using search::common::GeoLocationSpec;
@@ -12,10 +15,10 @@ bool is_parseable(const char *str) {
return parser.parseOldFormat(str);
}
-GeoLocationSpec parse(const char *str) {
+GeoLocation parse(const char *str) {
GeoLocationParser parser;
EXPECT_TRUE(parser.parseOldFormat(str));
- return parser.spec();
+ return parser.getGeoLocation();
}
TEST(GeoLocationSpec, malformed_bounding_boxes_are_not_parseable) {
@@ -43,94 +46,94 @@ TEST(GeoLocationSpec, malformed_circles_are_not_parseable) {
TEST(GeoLocationSpec, bounding_boxes_can_be_parsed) {
auto loc = parse("[2,10,20,30,40]");
- EXPECT_EQ(false, loc.hasPoint());
- EXPECT_EQ(true, loc.hasBoundingBox());
- EXPECT_EQ(0u, loc.getXAspect());
- EXPECT_EQ(0, loc.getX());
- EXPECT_EQ(0, loc.getY());
- EXPECT_EQ(std::numeric_limits<uint32_t>::max(), loc.getRadius());
- EXPECT_EQ(10, loc.getMinX());
- EXPECT_EQ(20, loc.getMinY());
- EXPECT_EQ(30, loc.getMaxX());
- EXPECT_EQ(40, loc.getMaxY());
+ EXPECT_EQ(false, loc.has_point);
+ EXPECT_EQ(true, loc.bounding_box.active());
+ EXPECT_EQ(0u, loc.x_aspect.multiplier);
+ EXPECT_EQ(0, loc.point.x);
+ EXPECT_EQ(0, loc.point.y);
+ EXPECT_EQ(std::numeric_limits<uint32_t>::max(), loc.radius);
+ EXPECT_EQ(10, loc.bounding_box.x.lo);
+ EXPECT_EQ(20, loc.bounding_box.y.lo);
+ EXPECT_EQ(30, loc.bounding_box.x.hi);
+ EXPECT_EQ(40, loc.bounding_box.y.hi);
}
TEST(GeoLocationSpec, circles_can_be_parsed) {
auto loc = parse("(2,10,20,5,0,0,0)");
- EXPECT_EQ(true, loc.hasPoint());
- EXPECT_EQ(true, loc.hasBoundingBox());
- EXPECT_EQ(0u, loc.getXAspect());
- EXPECT_EQ(10, loc.getX());
- EXPECT_EQ(20, loc.getY());
- EXPECT_EQ(5u, loc.getRadius());
- EXPECT_EQ(5, loc.getMinX());
- EXPECT_EQ(15, loc.getMinY());
- EXPECT_EQ(15, loc.getMaxX());
- EXPECT_EQ(25, loc.getMaxY());
+ EXPECT_EQ(true, loc.has_point);
+ EXPECT_EQ(true, loc.bounding_box.active());
+ EXPECT_EQ(0u, loc.x_aspect.multiplier);
+ EXPECT_EQ(10, loc.point.x);
+ EXPECT_EQ(20, loc.point.y);
+ EXPECT_EQ(5u, loc.radius);
+ EXPECT_EQ(5, loc.bounding_box.x.lo);
+ EXPECT_EQ(15, loc.bounding_box.y.lo);
+ EXPECT_EQ(15, loc.bounding_box.x.hi);
+ EXPECT_EQ(25, loc.bounding_box.y.hi);
}
TEST(GeoLocationSpec, circles_can_have_aspect_ratio) {
auto loc = parse("(2,10,20,5,0,0,0,2147483648)");
- EXPECT_EQ(true, loc.hasPoint());
- EXPECT_EQ(true, loc.hasBoundingBox());
- EXPECT_EQ(2147483648u, loc.getXAspect());
- EXPECT_EQ(10, loc.getX());
- EXPECT_EQ(20, loc.getY());
- EXPECT_EQ(5u, loc.getRadius());
- EXPECT_EQ(-1, loc.getMinX());
- EXPECT_EQ(15, loc.getMinY());
- EXPECT_EQ(21, loc.getMaxX());
- EXPECT_EQ(25, loc.getMaxY());
+ EXPECT_EQ(true, loc.has_point);
+ EXPECT_EQ(true, loc.bounding_box.active());
+ EXPECT_EQ(2147483648u, loc.x_aspect.multiplier);
+ EXPECT_EQ(10, loc.point.x);
+ EXPECT_EQ(20, loc.point.y);
+ EXPECT_EQ(5u, loc.radius);
+ EXPECT_EQ(-1, loc.bounding_box.x.lo);
+ EXPECT_EQ(15, loc.bounding_box.y.lo);
+ EXPECT_EQ(21, loc.bounding_box.x.hi);
+ EXPECT_EQ(25, loc.bounding_box.y.hi);
}
TEST(GeoLocationSpec, bounding_box_can_be_specified_after_circle) {
auto loc = parse("(2,10,20,5,0,0,0)[2,10,20,30,40]");
- EXPECT_EQ(true, loc.hasPoint());
- EXPECT_EQ(true, loc.hasBoundingBox());
- EXPECT_EQ(0u, loc.getXAspect());
- EXPECT_EQ(10, loc.getX());
- EXPECT_EQ(20, loc.getY());
- EXPECT_EQ(5u, loc.getRadius());
- EXPECT_EQ(10, loc.getMinX());
- EXPECT_EQ(20, loc.getMinY());
- EXPECT_EQ(15, loc.getMaxX());
- EXPECT_EQ(25, loc.getMaxY());
+ EXPECT_EQ(true, loc.has_point);
+ EXPECT_EQ(true, loc.bounding_box.active());
+ EXPECT_EQ(0u, loc.x_aspect.multiplier);
+ EXPECT_EQ(10, loc.point.x);
+ EXPECT_EQ(20, loc.point.y);
+ EXPECT_EQ(5u, loc.radius);
+ EXPECT_EQ(10, loc.bounding_box.x.lo);
+ EXPECT_EQ(20, loc.bounding_box.y.lo);
+ EXPECT_EQ(15, loc.bounding_box.x.hi);
+ EXPECT_EQ(25, loc.bounding_box.y.hi);
}
TEST(GeoLocationSpec, circles_can_be_specified_after_bounding_box) {
auto loc = parse("[2,10,20,30,40](2,10,20,5,0,0,0)");
- EXPECT_EQ(true, loc.hasPoint());
- EXPECT_EQ(true, loc.hasBoundingBox());
- EXPECT_EQ(0u, loc.getXAspect());
- EXPECT_EQ(10, loc.getX());
- EXPECT_EQ(20, loc.getY());
- EXPECT_EQ(5u, loc.getRadius());
- EXPECT_EQ(10, loc.getMinX());
- EXPECT_EQ(20, loc.getMinY());
- EXPECT_EQ(15, loc.getMaxX());
- EXPECT_EQ(25, loc.getMaxY());
+ EXPECT_EQ(true, loc.has_point);
+ EXPECT_EQ(true, loc.bounding_box.active());
+ EXPECT_EQ(0u, loc.x_aspect.multiplier);
+ EXPECT_EQ(10, loc.point.x);
+ EXPECT_EQ(20, loc.point.y);
+ EXPECT_EQ(5u, loc.radius);
+ EXPECT_EQ(10, loc.bounding_box.x.lo);
+ EXPECT_EQ(20, loc.bounding_box.y.lo);
+ EXPECT_EQ(15, loc.bounding_box.x.hi);
+ EXPECT_EQ(25, loc.bounding_box.y.hi);
}
TEST(GeoLocationSpec, santa_search_gives_non_wrapped_bounding_box) {
auto loc = parse("(2,122163600,89998536,290112,4,2000,0,109704)");
- EXPECT_GE(loc.getMaxX(), loc.getMinX());
- EXPECT_GE(loc.getMaxY(), loc.getMinY());
+ EXPECT_GE(loc.bounding_box.x.hi, loc.bounding_box.x.lo);
+ EXPECT_GE(loc.bounding_box.y.hi, loc.bounding_box.y.lo);
}
TEST(GeoLocationSpec, near_boundary_search_gives_non_wrapped_bounding_box) {
auto loc1 = parse("(2,2000000000,2000000000,3000000000,0,1,0)");
// fprintf(stderr, "positive near boundary: %s\n", loc1.getLocationString().c_str());
- EXPECT_GE(loc1.getMaxX(), loc1.getMinX());
- EXPECT_GE(loc1.getMaxY(), loc1.getMinY());
- EXPECT_EQ(std::numeric_limits<int32_t>::max(), loc1.getMaxY());
- EXPECT_EQ(std::numeric_limits<int32_t>::max(), loc1.getMaxY());
+ EXPECT_GE(loc1.bounding_box.x.hi, loc1.bounding_box.x.lo);
+ EXPECT_GE(loc1.bounding_box.y.hi, loc1.bounding_box.y.lo);
+ EXPECT_EQ(std::numeric_limits<int32_t>::max(), loc1.bounding_box.y.hi);
+ EXPECT_EQ(std::numeric_limits<int32_t>::max(), loc1.bounding_box.y.hi);
auto loc2 = parse("(2,-2000000000,-2000000000,3000000000,0,1,0)");
// fprintf(stderr, "negative near boundary: %s\n", loc2.getLocationString().c_str());
- EXPECT_GE(loc2.getMaxX(), loc2.getMinX());
- EXPECT_GE(loc2.getMaxY(), loc2.getMinY());
- EXPECT_EQ(std::numeric_limits<int32_t>::min(), loc2.getMinX());
- EXPECT_EQ(std::numeric_limits<int32_t>::min(), loc2.getMinY());
+ EXPECT_GE(loc2.bounding_box.x.hi, loc2.bounding_box.x.lo);
+ EXPECT_GE(loc2.bounding_box.y.hi, loc2.bounding_box.y.lo);
+ EXPECT_EQ(std::numeric_limits<int32_t>::min(), loc2.bounding_box.x.lo);
+ EXPECT_EQ(std::numeric_limits<int32_t>::min(), loc2.bounding_box.y.lo);
}
GTEST_MAIN_RUN_ALL_TESTS()
diff --git a/searchlib/src/tests/common/location/location_test.cpp b/searchlib/src/tests/common/location/location_test.cpp
index 79eec441d62..c25dce38a4a 100644
--- a/searchlib/src/tests/common/location/location_test.cpp
+++ b/searchlib/src/tests/common/location/location_test.cpp
@@ -1,6 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
#include <vespa/vespalib/testkit/test_kit.h>
#include <vespa/searchlib/common/location.h>
+#include <vespa/searchlib/common/geo_location_spec.h>
+#include <vespa/searchlib/common/geo_location_parser.h>
#include <vespa/searchlib/attribute/attributeguard.h>
using search::common::Location;
@@ -12,83 +14,83 @@ Location parse(const char *str) {
if (!EXPECT_TRUE(parser.parseOldFormat(str))) {
fprintf(stderr, " parse error: %s\n", parser.getParseError());
}
- return Location(parser.spec());
+ return Location(parser.getGeoLocation());
}
TEST("require that bounding boxes can be parsed") {
Location loc = parse("[2,10,20,30,40]");
EXPECT_EQUAL(false, loc.getRankOnDistance());
EXPECT_EQUAL(true, loc.getPruneOnDistance());
- EXPECT_EQUAL(0u, loc.getXAspect());
- EXPECT_EQUAL(0, loc.getX());
- EXPECT_EQUAL(0, loc.getY());
- EXPECT_EQUAL(std::numeric_limits<uint32_t>::max(), loc.getRadius());
- EXPECT_EQUAL(10, loc.getMinX());
- EXPECT_EQUAL(20, loc.getMinY());
- EXPECT_EQUAL(30, loc.getMaxX());
- EXPECT_EQUAL(40, loc.getMaxY());
+ EXPECT_EQUAL(0u, loc.x_aspect.multiplier);
+ EXPECT_EQUAL(0, loc.point.x);
+ EXPECT_EQUAL(0, loc.point.y);
+ EXPECT_EQUAL(std::numeric_limits<uint32_t>::max(), loc.radius);
+ EXPECT_EQUAL(10, loc.bounding_box.x.lo);
+ EXPECT_EQUAL(20, loc.bounding_box.y.lo);
+ EXPECT_EQUAL(30, loc.bounding_box.x.hi);
+ EXPECT_EQUAL(40, loc.bounding_box.y.hi);
}
TEST("require that circles can be parsed") {
Location loc = parse("(2,10,20,5,0,0,0)");
EXPECT_EQUAL(true, loc.getRankOnDistance());
EXPECT_EQUAL(true, loc.getPruneOnDistance());
- EXPECT_EQUAL(0u, loc.getXAspect());
- EXPECT_EQUAL(10, loc.getX());
- EXPECT_EQUAL(20, loc.getY());
- EXPECT_EQUAL(5u, loc.getRadius());
- EXPECT_EQUAL(5, loc.getMinX());
- EXPECT_EQUAL(15, loc.getMinY());
- EXPECT_EQUAL(15, loc.getMaxX());
- EXPECT_EQUAL(25, loc.getMaxY());
+ EXPECT_EQUAL(0u, loc.x_aspect.multiplier);
+ EXPECT_EQUAL(10, loc.point.x);
+ EXPECT_EQUAL(20, loc.point.y);
+ EXPECT_EQUAL(5u, loc.radius);
+ EXPECT_EQUAL(5, loc.bounding_box.x.lo);
+ EXPECT_EQUAL(15, loc.bounding_box.y.lo);
+ EXPECT_EQUAL(15, loc.bounding_box.x.hi);
+ EXPECT_EQUAL(25, loc.bounding_box.y.hi);
}
TEST("require that circles can have aspect ratio") {
Location loc = parse("(2,10,20,5,0,0,0,2147483648)");
EXPECT_EQUAL(true, loc.getRankOnDistance());
EXPECT_EQUAL(true, loc.getPruneOnDistance());
- EXPECT_EQUAL(2147483648u, loc.getXAspect());
- EXPECT_EQUAL(10, loc.getX());
- EXPECT_EQUAL(20, loc.getY());
- EXPECT_EQUAL(5u, loc.getRadius());
- EXPECT_EQUAL(-1, loc.getMinX());
- EXPECT_EQUAL(15, loc.getMinY());
- EXPECT_EQUAL(21, loc.getMaxX());
- EXPECT_EQUAL(25, loc.getMaxY());
+ EXPECT_EQUAL(2147483648u, loc.x_aspect.multiplier);
+ EXPECT_EQUAL(10, loc.point.x);
+ EXPECT_EQUAL(20, loc.point.y);
+ EXPECT_EQUAL(5u, loc.radius);
+ EXPECT_EQUAL(-1, loc.bounding_box.x.lo);
+ EXPECT_EQUAL(15, loc.bounding_box.y.lo);
+ EXPECT_EQUAL(21, loc.bounding_box.x.hi);
+ EXPECT_EQUAL(25, loc.bounding_box.y.hi);
}
TEST("require that bounding box can be specified after circle") {
Location loc = parse("(2,10,20,5,0,0,0)[2,10,20,30,40]");
EXPECT_EQUAL(true, loc.getRankOnDistance());
EXPECT_EQUAL(true, loc.getPruneOnDistance());
- EXPECT_EQUAL(0u, loc.getXAspect());
- EXPECT_EQUAL(10, loc.getX());
- EXPECT_EQUAL(20, loc.getY());
- EXPECT_EQUAL(5u, loc.getRadius());
- EXPECT_EQUAL(10, loc.getMinX());
- EXPECT_EQUAL(20, loc.getMinY());
- EXPECT_EQUAL(15, loc.getMaxX());
- EXPECT_EQUAL(25, loc.getMaxY());
+ EXPECT_EQUAL(0u, loc.x_aspect.multiplier);
+ EXPECT_EQUAL(10, loc.point.x);
+ EXPECT_EQUAL(20, loc.point.y);
+ EXPECT_EQUAL(5u, loc.radius);
+ EXPECT_EQUAL(10, loc.bounding_box.x.lo);
+ EXPECT_EQUAL(20, loc.bounding_box.y.lo);
+ EXPECT_EQUAL(15, loc.bounding_box.x.hi);
+ EXPECT_EQUAL(25, loc.bounding_box.y.hi);
}
TEST("require that circles can be specified after bounding box") {
Location loc = parse("[2,10,20,30,40](2,10,20,5,0,0,0)");
EXPECT_EQUAL(true, loc.getRankOnDistance());
EXPECT_EQUAL(true, loc.getPruneOnDistance());
- EXPECT_EQUAL(0u, loc.getXAspect());
- EXPECT_EQUAL(10, loc.getX());
- EXPECT_EQUAL(20, loc.getY());
- EXPECT_EQUAL(5u, loc.getRadius());
- EXPECT_EQUAL(10, loc.getMinX());
- EXPECT_EQUAL(20, loc.getMinY());
- EXPECT_EQUAL(15, loc.getMaxX());
- EXPECT_EQUAL(25, loc.getMaxY());
+ EXPECT_EQUAL(0u, loc.x_aspect.multiplier);
+ EXPECT_EQUAL(10, loc.point.x);
+ EXPECT_EQUAL(20, loc.point.y);
+ EXPECT_EQUAL(5u, loc.radius);
+ EXPECT_EQUAL(10, loc.bounding_box.x.lo);
+ EXPECT_EQUAL(20, loc.bounding_box.y.lo);
+ EXPECT_EQUAL(15, loc.bounding_box.x.hi);
+ EXPECT_EQUAL(25, loc.bounding_box.y.hi);
}
TEST("require that santa search gives non-wrapped bounding box") {
Location loc = parse("(2,122163600,89998536,290112,4,2000,0,109704)");
- EXPECT_GREATER_EQUAL(loc.getMaxX(), loc.getMinX());
- EXPECT_GREATER_EQUAL(loc.getMaxY(), loc.getMinY());
+ EXPECT_GREATER_EQUAL(loc.bounding_box.x.hi, loc.bounding_box.x.lo);
+ EXPECT_GREATER_EQUAL(loc.bounding_box.y.hi, loc.bounding_box.y.lo);
}
TEST_MAIN() { TEST_RUN_ALL(); }
diff --git a/searchlib/src/tests/query/query_visitor_test.cpp b/searchlib/src/tests/query/query_visitor_test.cpp
index edbc29be784..8441dc2227f 100644
--- a/searchlib/src/tests/query/query_visitor_test.cpp
+++ b/searchlib/src/tests/query/query_visitor_test.cpp
@@ -90,7 +90,7 @@ void Test::requireThatAllNodesCanBeVisited() {
checkVisit<WandTerm>(new SimpleWandTerm("field", 0, Weight(42), 57, 67, 77.7));
checkVisit<Rank>(new SimpleRank);
checkVisit<NumberTerm>(new SimpleNumberTerm("0.42", "field", 0, Weight(0)));
- const Location location(Point(10, 10), 20, 0);
+ const Location location(Point{10, 10}, 20, 0);
checkVisit<LocationTerm>(new SimpleLocationTerm(location, "field", 0, Weight(0)));
checkVisit<PrefixTerm>(new SimplePrefixTerm("t", "field", 0, Weight(0)));
checkVisit<RangeTerm>(new SimpleRangeTerm(Range(0, 1), "field", 0, Weight(0)));
diff --git a/searchlib/src/tests/query/querybuilder_test.cpp b/searchlib/src/tests/query/querybuilder_test.cpp
index d093bc4242e..269600d26d4 100644
--- a/searchlib/src/tests/query/querybuilder_test.cpp
+++ b/searchlib/src/tests/query/querybuilder_test.cpp
@@ -32,7 +32,7 @@ const size_t distance = 4;
const string int1 = "42";
const string float1 = "3.14";
const Range range(32, 64);
-const Point position(100, 100);
+const Point position{100, 100};
const int max_distance = 20;
const uint32_t x_aspect = 0;
const Location location(position, max_distance, x_aspect);