package fts5 import ( "testing" ) func TestMatch(t *testing.T) { fts, err := OpenMem("Title", "Text") if err != nil { t.Fatal(err) } fts.Upsert(100, map[string]string{ "Title": "Peter Rabbit", "Text": "Peter Rabbit is a fictional animal character in various children's stories by English author Beatrix Potter.", }) fts.Upsert(200, map[string]string{ "Title": "Baloo", "Text": "Fictional bear from the Jungle Book.", }) fts.Upsert(300, map[string]string{ "Title": "Barney Bear", "Text": "A grumpy brown bear.", }) fts.Upsert(400, map[string]string{ "Title": "Peter the Panda", "Text": "A secret agent panda from Seattle.", }) // Should have 2 results for "peter". results, err := fts.Match("peter", 3, 0) if err != nil { t.Fatal(err) } if len(results) != 2 { t.Fatal(results) } // Try limit. results, err = fts.Match("peter", 1, 0) if err != nil { t.Fatal(err) } if len(results) != 1 { t.Fatal(results) } // Try offset. results, err = fts.Match("peter", 3, 1) if err != nil { t.Fatal(err) } if len(results) != 1 { t.Fatal(results) } }