package main
import (
"testing"
)
func eq_slice(t *testing.T, got []WordAndCount, expected []string) {
if !(len(got)==len(expected)) {
t.Errorf("bad length, got %d expected %d",len(got),len(expected))
return
}
for i,got_elem := range got {
if !(got_elem.word == expected[i]) {
t.Errorf("slices differ at %d, got %v expected %v",
i,got_elem,expected[i])
return
}
}
return
}
func TestModel1(t *testing.T) {
m := NewModel()
m.AddWords([]string{"a", "b", "a"})
got := m.GetMostCommonPairs(2)
eq_slice(t,got,[]string{"a","b"})
}
func TestModel2(t *testing.T) {
m := NewModel()
m.AddWords([]string{"a", "b", "a"})
got := m.GetMostCommonPairs(2)
eq_slice(t,got,[]string{"a","b"})
m.AddWords([]string{"b", "c", "b"})
got = m.GetMostCommonPairs(2)
eq_slice(t,got,[]string{"b","a"})
}