0
0

new test for numeric queries

first runs a query with both ends of a numeric range
then runs same query as 2 separate unbounded queries
joined together with an and
This commit is contained in:
Marty Schoch 2014-08-25 22:38:43 -04:00
parent 2898123ec1
commit 0e26a6233e

View File

@ -212,6 +212,40 @@ func TestIndex(t *testing.T) {
}
}
// test a numeric range with both endpoints
minAge := 20.0
numericRangeQuery = NewNumericRangeQuery(&minAge, &maxAge).SetField("age")
searchRequest = NewSearchRequest(numericRangeQuery)
searchResult, err = index.Search(searchRequest)
if err != nil {
t.Error(err)
}
if searchResult.Total != uint64(1) {
t.Errorf("expected 1 total hits for numeric range query, got %d", searchResult.Total)
} else {
if searchResult.Hits[0].ID != "b" {
t.Errorf("expected top hit id 'b', got '%s'", searchResult.Hits[0].ID)
}
}
// test the same query done as two
// individual range queries and'd together
q1 := NewNumericRangeQuery(&minAge, nil).SetField("age")
q2 := NewNumericRangeQuery(nil, &maxAge).SetField("age")
conQuery := NewConjunctionQuery([]Query{q1, q2})
searchRequest = NewSearchRequest(conQuery)
searchResult, err = index.Search(searchRequest)
if err != nil {
t.Error(err)
}
if searchResult.Total != uint64(1) {
t.Errorf("expected 1 total hits for numeric range query, got %d", searchResult.Total)
} else {
if searchResult.Hits[0].ID != "b" {
t.Errorf("expected top hit id 'b', got '%s'", searchResult.Hits[0].ID)
}
}
startDate = "2010-01-01"
dateRangeQuery := NewDateRangeQuery(&startDate, nil).SetField("birthday")
searchRequest = NewSearchRequest(dateRangeQuery)