diff options
Diffstat (limited to 'vendor/gopkg.in/olivere/elastic.v5/suggester_context_category_test.go')
-rw-r--r-- | vendor/gopkg.in/olivere/elastic.v5/suggester_context_category_test.go | 74 |
1 files changed, 70 insertions, 4 deletions
diff --git a/vendor/gopkg.in/olivere/elastic.v5/suggester_context_category_test.go b/vendor/gopkg.in/olivere/elastic.v5/suggester_context_category_test.go index 3a013d642..46acd725e 100644 --- a/vendor/gopkg.in/olivere/elastic.v5/suggester_context_category_test.go +++ b/vendor/gopkg.in/olivere/elastic.v5/suggester_context_category_test.go @@ -73,7 +73,7 @@ func TestSuggesterCategoryQuery(t *testing.T) { t.Fatalf("marshaling to JSON failed: %v", err) } got := string(data) - expected := `{"color":"red"}` + expected := `{"color":[{"context":"red"}]}` if got != expected { t.Errorf("expected\n%s\n,got:\n%s", expected, got) } @@ -90,8 +90,74 @@ func TestSuggesterCategoryQueryWithTwoValues(t *testing.T) { t.Fatalf("marshaling to JSON failed: %v", err) } got := string(data) - expected := `{"color":["red","yellow"]}` - if got != expected { - t.Errorf("expected\n%s\n,got:\n%s", expected, got) + expectedOutcomes := []string{ + `{"color":[{"context":"red"},{"context":"yellow"}]}`, + `{"color":[{"context":"yellow"},{"context":"red"}]}`, + } + var match bool + for _, expected := range expectedOutcomes { + if got == expected { + match = true + break + } + } + if !match { + t.Errorf("expected any of %v\n,got:\n%s", expectedOutcomes, got) + } +} + +func TestSuggesterCategoryQueryWithBoost(t *testing.T) { + q := NewSuggesterCategoryQuery("color", "red") + q.ValueWithBoost("yellow", 4) + src, err := q.Source() + if err != nil { + t.Fatal(err) + } + data, err := json.Marshal(src) + if err != nil { + t.Fatalf("marshaling to JSON failed: %v", err) + } + got := string(data) + expectedOutcomes := []string{ + `{"color":[{"context":"red"},{"boost":4,"context":"yellow"}]}`, + `{"color":[{"boost":4,"context":"yellow"},{"context":"red"}]}`, + } + var match bool + for _, expected := range expectedOutcomes { + if got == expected { + match = true + break + } + } + if !match { + t.Errorf("expected any of %v\n,got:\n%v", expectedOutcomes, got) + } +} + +func TestSuggesterCategoryQueryWithoutBoost(t *testing.T) { + q := NewSuggesterCategoryQuery("color", "red") + q.Value("yellow") + src, err := q.Source() + if err != nil { + t.Fatal(err) + } + data, err := json.Marshal(src) + if err != nil { + t.Fatalf("marshaling to JSON failed: %v", err) + } + got := string(data) + expectedOutcomes := []string{ + `{"color":[{"context":"red"},{"context":"yellow"}]}`, + `{"color":[{"context":"yellow"},{"context":"red"}]}`, + } + var match bool + for _, expected := range expectedOutcomes { + if got == expected { + match = true + break + } + } + if !match { + t.Errorf("expected any of %v\n,got:\n%s", expectedOutcomes, got) } } |