Test Go bindings for MatchDoc.

Project: http://git-wip-us.apache.org/repos/asf/lucy/repo
Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/2aa24c19
Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/2aa24c19
Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/2aa24c19

Branch: refs/heads/master
Commit: 2aa24c199b204a254705caf94bf8013011f98699
Parents: faab39e
Author: Marvin Humphrey <[email protected]>
Authored: Tue Sep 15 16:50:57 2015 -0700
Committer: Marvin Humphrey <[email protected]>
Committed: Tue Sep 15 16:50:57 2015 -0700

----------------------------------------------------------------------
 go/lucy/search_test.go | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/lucy/blob/2aa24c19/go/lucy/search_test.go
----------------------------------------------------------------------
diff --git a/go/lucy/search_test.go b/go/lucy/search_test.go
index 00d68c1..b281477 100644
--- a/go/lucy/search_test.go
+++ b/go/lucy/search_test.go
@@ -622,3 +622,34 @@ func TestIndexSearcherTopDocs(t *testing.T) {
                t.Errorf("TopDocs expected 2, got %d", docID)
        }
 }
+
+func TestMatchDocBasics(t *testing.T) {
+       matchDoc := NewMatchDoc(0, 1.0, nil)
+       matchDoc.SetDocID(42)
+       if got := matchDoc.GetDocID(); got != 42 {
+               t.Errorf("Set/GetDocID: %d", got)
+       }
+       matchDoc.SetScore(1.5)
+       if got := matchDoc.GetScore(); got != 1.5 {
+               t.Errorf("Set/GetScore: %f", got)
+       }
+       values := []interface{}{"foo", int64(42)}
+       matchDoc.SetValues(values)
+       if got := matchDoc.GetValues(); !reflect.DeepEqual(got, values) {
+               t.Error("Get/SetValues")
+       }
+}
+
+func TestMatchDocSerialization(t *testing.T) {
+       values := []interface{}{"foo", int64(42)}
+       matchDoc := NewMatchDoc(100, 1.5, values)
+       folder := NewRAMFolder("")
+       outstream := folder.OpenOut("foo")
+       matchDoc.Serialize(outstream)
+       outstream.Close()
+       inStream := folder.OpenIn("foo")
+       dupe := 
clownfish.GetClass(matchDoc).MakeObj().(MatchDoc).Deserialize(inStream)
+       if got := dupe.GetValues(); !reflect.DeepEqual(got, values) {
+               t.Errorf("Failed round-trip serializetion of MatchDoc")
+       }
+}

Reply via email to