Skip to content

Commit

Permalink
Three tests for parsing "geo_distance" filter: 12 miles in km
Browse files Browse the repository at this point in the history
The added test files should be equivalent. Actually they
hit the same bug as change

    Two tests for parsing "geo_distance" filter: distance/unit parameters
  • Loading branch information
Adriano Ferreira authored and kimchy committed Oct 26, 2010
1 parent 244a566 commit 8c8b7be
Show file tree
Hide file tree
Showing 4 changed files with 90 additions and 0 deletions.
Expand Up @@ -1271,6 +1271,46 @@ private XContentIndexQueryParser queryParser() throws IOException {
assertThat(filter.lon(), closeTo(-70, 0.00001));
assertThat(filter.distance(), closeTo(12, 0.00001));
}

@Test public void testGeoDistanceFilter9() throws IOException {
IndexQueryParser queryParser = queryParser();
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_distance9.json");
Query parsedQuery = queryParser.parse(query).query();
assertThat(parsedQuery, instanceOf(FilteredQuery.class));
FilteredQuery filteredQuery = (FilteredQuery) parsedQuery;
GeoDistanceFilter filter = (GeoDistanceFilter) filteredQuery.getFilter();
assertThat(filter.fieldName(), equalTo("location"));
assertThat(filter.lat(), closeTo(40, 0.00001));
assertThat(filter.lon(), closeTo(-70, 0.00001));
assertThat(filter.distance(), closeTo(12, 0.00001));
}

@Test public void testGeoDistanceFilter10() throws IOException {
IndexQueryParser queryParser = queryParser();
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_distance10.json");
Query parsedQuery = queryParser.parse(query).query();
assertThat(parsedQuery, instanceOf(FilteredQuery.class));
FilteredQuery filteredQuery = (FilteredQuery) parsedQuery;
GeoDistanceFilter filter = (GeoDistanceFilter) filteredQuery.getFilter();
assertThat(filter.fieldName(), equalTo("location"));
assertThat(filter.lat(), closeTo(40, 0.00001));
assertThat(filter.lon(), closeTo(-70, 0.00001));
assertThat(filter.distance(), closeTo(12, 0.00001));
}

@Test public void testGeoDistanceFilter11() throws IOException {
IndexQueryParser queryParser = queryParser();
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_distance11.json");
Query parsedQuery = queryParser.parse(query).query();
assertThat(parsedQuery, instanceOf(FilteredQuery.class));
FilteredQuery filteredQuery = (FilteredQuery) parsedQuery;
GeoDistanceFilter filter = (GeoDistanceFilter) filteredQuery.getFilter();
assertThat(filter.fieldName(), equalTo("location"));
assertThat(filter.lat(), closeTo(40, 0.00001));
assertThat(filter.lon(), closeTo(-70, 0.00001));
assertThat(filter.distance(), closeTo(12, 0.00001));
}

@Test public void testGeoBoundingBoxFilterNamed() throws IOException {
IndexQueryParser queryParser = queryParser();
String query = copyToStringFromClasspath("/org/elasticsearch/index/query/xcontent/geo_boundingbox-named.json");
Expand Down
@@ -0,0 +1,17 @@
{
"filtered" : {
"query" : {
"match_all" : {}
},
"filter" : {
"geo_distance" : {
"distance" : 19.312128,
"unit": "km",
"person.location" : {
"lat" : 40,
"lon" : -70
}
}
}
}
}
@@ -0,0 +1,16 @@
{
"filtered" : {
"query" : {
"match_all" : {}
},
"filter" : {
"geo_distance" : {
"distance" : "19.312128km",
"person.location" : {
"lat" : 40,
"lon" : -70
}
}
}
}
}
@@ -0,0 +1,17 @@
{
"filtered" : {
"query" : {
"match_all" : {}
},
"filter" : {
"geo_distance" : {
"distance" : "19.312128",
"unit": "km",
"person.location" : {
"lat" : 40,
"lon" : -70
}
}
}
}
}

0 comments on commit 8c8b7be

Please sign in to comment.