You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucy.apache.org by ma...@apache.org on 2015/09/12 00:00:40 UTC
[15/16] lucy git commit: Test Go bindings for Boolean matchers.
Test Go bindings for Boolean matchers.
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/055407fc
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/055407fc
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/055407fc
Branch: refs/heads/master
Commit: 055407fccdd4739cb3e840e422ef43e3cff16bc3
Parents: 9cd103c
Author: Marvin Humphrey <ma...@rectangular.com>
Authored: Wed Aug 12 20:36:52 2015 -0700
Committer: Marvin Humphrey <ma...@rectangular.com>
Committed: Wed Sep 9 18:58:22 2015 -0700
----------------------------------------------------------------------
go/lucy/search_test.go | 63 +++++++++++++++++++++++++++++++++------------
1 file changed, 47 insertions(+), 16 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/lucy/blob/055407fc/go/lucy/search_test.go
----------------------------------------------------------------------
diff --git a/go/lucy/search_test.go b/go/lucy/search_test.go
index e822d09..492ab1f 100644
--- a/go/lucy/search_test.go
+++ b/go/lucy/search_test.go
@@ -250,16 +250,17 @@ func TestLeafQueryBasics(t *testing.T) {
checkQueryToStringHasFoo(t, query)
}
-func TestMockMatcherBasics(t *testing.T) {
- matcher := newMockMatcher([]int32{42, 43, 100}, []float32{1.5, 1.5, 1.5})
+func checkMatcher(t *testing.T, matcher Matcher, supportsScore bool) {
if got := matcher.Next(); got != 42 {
t.Error("Next: %d", got)
}
if got := matcher.GetDocID(); got != 42 {
t.Error("GetDocID: %d", got)
}
- if score := matcher.Score(); score != 1.5 {
- t.Error("Score: %f", score)
+ if supportsScore {
+ if score := matcher.Score(); score != 2 {
+ t.Error("Score: %f", score)
+ }
}
if got := matcher.Advance(50); got != 100 {
t.Error("Advance: %d", got)
@@ -269,22 +270,52 @@ func TestMockMatcherBasics(t *testing.T) {
}
}
+func TestMockMatcherBasics(t *testing.T) {
+ matcher := newMockMatcher([]int32{42, 43, 100}, []float32{2,2,2})
+ checkMatcher(t, matcher, true)
+}
+
func TestBitVecMatcherBasics(t *testing.T) {
bv := NewBitVector(0)
bv.Set(42)
bv.Set(43)
bv.Set(100)
matcher := NewBitVecMatcher(bv)
- if got := matcher.Next(); got != 42 {
- t.Error("Next: %d", got)
- }
- if got := matcher.GetDocID(); got != 42 {
- t.Error("GetDocID: %d", got)
- }
- if got := matcher.Advance(50); got != 100 {
- t.Error("Advance: %d", got)
- }
- if got := matcher.Next(); got != 0 {
- t.Error("Next (iteration finished): %d", got)
- }
+ checkMatcher(t, matcher, false)
+}
+
+func TestANDMatcherBasics(t *testing.T) {
+ a := newMockMatcher([]int32{42, 43, 99, 100}, []float32{1,1,1,1})
+ b := newMockMatcher([]int32{1, 42, 43, 100}, []float32{1,1,1,1})
+ matcher := NewANDMatcher([]Matcher{a, b}, nil)
+ checkMatcher(t, matcher, true)
+}
+
+func TestORMatcherBasics(t *testing.T) {
+ a := newMockMatcher([]int32{42, 43}, nil)
+ b := newMockMatcher([]int32{42, 100}, nil)
+ matcher := NewORMatcher([]Matcher{a, b})
+ checkMatcher(t, matcher, false)
+}
+
+func TestORScorerBasics(t *testing.T) {
+ a := newMockMatcher([]int32{42, 43}, []float32{1,1})
+ b := newMockMatcher([]int32{42, 100}, []float32{1,1})
+ matcher := NewORScorer([]Matcher{a, b}, nil)
+ checkMatcher(t, matcher, true)
+}
+
+func TestReqOptMatcherBasics(t *testing.T) {
+ req := newMockMatcher([]int32{42, 43, 100}, []float32{1,1,1})
+ opt := newMockMatcher([]int32{1, 42, 99, 100}, []float32{1,1,1,1})
+ matcher := NewRequiredOptionalMatcher(nil, req, opt)
+ checkMatcher(t, matcher, true)
+}
+
+func TestNOTMatcherBasics(t *testing.T) {
+ a := newMockMatcher([]int32{1, 42, 43, 99, 100}, nil)
+ b := newMockMatcher([]int32{1, 99}, nil)
+ notB := NewNOTMatcher(b, 999)
+ matcher := NewANDMatcher([]Matcher{a, notB}, nil)
+ checkMatcher(t, matcher, false)
}