fts5
This commit is contained in:
59
fts5/fts5_test.go
Normal file
59
fts5/fts5_test.go
Normal file
@@ -0,0 +1,59 @@
|
||||
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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user