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