Test Go bindings for Inverter.
Project: http://git-wip-us.apache.org/repos/asf/lucy/repo Commit: http://git-wip-us.apache.org/repos/asf/lucy/commit/c03af4b2 Tree: http://git-wip-us.apache.org/repos/asf/lucy/tree/c03af4b2 Diff: http://git-wip-us.apache.org/repos/asf/lucy/diff/c03af4b2 Branch: refs/heads/master Commit: c03af4b20b1a4ce3c7f3b57044253ea599c3e236 Parents: fb69e38 Author: Marvin Humphrey <[email protected]> Authored: Sun Nov 1 18:25:04 2015 -0800 Committer: Marvin Humphrey <[email protected]> Committed: Sun Nov 1 18:25:04 2015 -0800 ---------------------------------------------------------------------- go/lucy/index_test.go | 95 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/lucy/blob/c03af4b2/go/lucy/index_test.go ---------------------------------------------------------------------- diff --git a/go/lucy/index_test.go b/go/lucy/index_test.go index 76f35f7..407ff4c 100644 --- a/go/lucy/index_test.go +++ b/go/lucy/index_test.go @@ -544,3 +544,98 @@ func TestFilePurgerMisc(t *testing.T) { t.Errorf("Failed to purge file") } } + +func TestInvEntryMisc(t *testing.T) { + entry := NewInverterEntry(nil, "content", 1) + other := NewInverterEntry(nil, "title", 2) + if got := entry.CompareTo(other); got >= 0 { + t.Errorf("CompareTo compares field numbers: %d", got) + } +} + +func TestInverterMisc(t *testing.T) { + + schema := NewSchema() + spec := NewFullTextType(NewStandardTokenizer()) + schema.SpecField("title", spec) + schema.SpecField("content", spec) + seg := NewSegment(4) + seg.AddField("title") + seg.AddField("content") + + inverter := NewInverter(schema, seg) + inverter.SetBoost(2.0) + if got := inverter.GetBoost(); got != 2.0 { + t.Errorf("Set/GetBoost: %f", got) + } + if got := inverter.GetDoc(); got != nil { + t.Errorf("GetDoc should return nil when not yet set") + } + inverter.Clear() + + doc := NewDoc(42) + doc.Store("title", "Foo") + doc.Store("content", "foo foo foo foo foo") + inverter.SetDoc(doc) + if docID := inverter.GetDoc().GetDocID(); docID != 42 { + t.Errorf("Set/GetDoc: %d", docID) + } + inverter.Clear() + // Can't test AddField. + // inverter.AddField(entry) + inverter.InvertDoc(doc) + + + numFields := inverter.Iterate() + if numFields != 2 { + t.Errorf("Iterate: %d", numFields) + } + fieldNum := inverter.Next() + if fieldNum != 1 { + t.Errorf("Next: %d", fieldNum) + } + if got := inverter.GetFieldName(); got != "title" { + t.Errorf("GetFieldName during first iter: %s", got) + } + if got := inverter.GetValue(); got != "Foo" { + t.Errorf("GetValue during first iter: %v", got) + } + if got, ok := inverter.GetType().(FullTextType); !ok { + t.Errorf("GetType: %T", got) + } + if got, ok := inverter.GetAnalyzer().(StandardTokenizer); !ok { + t.Errorf("GetType: %T", got) + } + if got, ok := inverter.GetSimilarity().(Similarity); !ok { + t.Errorf("GetSimilarity: %T", got) + } + if got, ok := inverter.GetInversion().(Inversion); !ok { + t.Errorf("GetInversion: %T", got) + } + + if nextFieldNum := inverter.Next(); nextFieldNum != 2 { + t.Errorf("Next second iter: %d", nextFieldNum) + } + + if done := inverter.Next(); done != 0 { + t.Errorf("Next should return 0 when exhausted: %d", done) + } + if got := inverter.GetFieldName(); got != "" { + t.Errorf("GetFieldName after iterator exhausted: %s", got) + } + if got := inverter.GetValue(); got != nil { + t.Errorf("GetValue after iterator exhausted: %v", got) + } + if got := inverter.GetType(); got != nil { + t.Errorf("GetType after iterator exhausted: %v", got) + } + if got := inverter.GetAnalyzer(); got != nil { + t.Errorf("GetAnalyzer after iterator exhausted: %v", got) + } + if got := inverter.GetSimilarity(); got != nil { + t.Errorf("GetSimilarity after iterator exhausted: %v", got) + } + if got := inverter.GetInversion(); got != nil { + t.Errorf("GetInversion after iterator exhausted: %v", got) + } +}
