41 lines
922 B
Go
41 lines
922 B
Go
package model
|
|
|
|
import "testing"
|
|
|
|
func TestFuzzyRecommendOffsetUsesFullMatchedInput(t *testing.T) {
|
|
tests := []struct {
|
|
name string
|
|
searchPrefix string
|
|
searchInput string
|
|
want int
|
|
}{
|
|
{
|
|
name: "zone fuzzy prefix",
|
|
searchPrefix: "grid000",
|
|
searchInput: "z",
|
|
want: len([]rune("grid000.z")),
|
|
},
|
|
{
|
|
name: "level one fuzzy",
|
|
searchPrefix: "",
|
|
searchInput: "g",
|
|
want: len([]rune("g")),
|
|
},
|
|
{
|
|
name: "measurement fuzzy preserves config token",
|
|
searchPrefix: "grid.zone.station.nspath.comp.config",
|
|
searchInput: "m",
|
|
want: len([]rune("grid.zone.station.nspath.comp.config.m")),
|
|
},
|
|
}
|
|
|
|
for _, tt := range tests {
|
|
t.Run(tt.name, func(t *testing.T) {
|
|
got := fuzzyRecommendOffset(tt.searchPrefix, tt.searchInput)
|
|
if got != tt.want {
|
|
t.Fatalf("expected offset %d, got %d", tt.want, got)
|
|
}
|
|
})
|
|
}
|
|
}
|