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"}) }