1package tests 2 3import ( 4 "fmt" 5 "github.com/xrash/smetrics" 6 "testing" 7) 8 9func TestUkkonen(t *testing.T) { 10 cases := []levenshteincase{ 11 {"RASH", "RASH", 1, 1, 2, 0}, 12 {"POTATO", "POTTATO", 1, 1, 2, 1}, 13 {"POTTATO", "POTATO", 1, 1, 2, 1}, 14 {"HOUSE", "MOUSE", 1, 1, 2, 2}, 15 {"MOUSE", "HOUSE", 2, 2, 4, 4}, 16 {"abc", "xy", 2, 3, 5, 13}, 17 {"xy", "abc", 2, 3, 5, 12}, 18 } 19 20 for _, c := range cases { 21 if r := smetrics.Ukkonen(c.s, c.t, c.icost, c.dcost, c.scost); r != c.r { 22 fmt.Println(r, "instead of", c.r) 23 t.Fail() 24 } 25 } 26} 27