This commit is contained in:
jdl
2024-11-19 16:41:41 +01:00
parent 9070d8cfc0
commit 9061198e7f
4 changed files with 255 additions and 0 deletions

59
fts5/fts5_test.go Normal file
View 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)
}
}