main_test.go 682 B

12345678910111213141516171819202122232425262728293031
  1. package main
  2. import (
  3. "testing"
  4. )
  5. func TestDistanceOnTwoIds(t *testing.T) {
  6. cases := []struct {
  7. Name string
  8. Left, Right []int
  9. Expected int
  10. }{
  11. {"d(3, 4) = 1", []int{3}, []int{4}, 1},
  12. {"d(4, 3) = 1", []int{4}, []int{3}, 1},
  13. {"d(2, 5) = 3", []int{2}, []int{5}, 3},
  14. {"d(1, 3) = 2", []int{1}, []int{3}, 2},
  15. {"d(3, 9) = 6", []int{3}, []int{9}, 6},
  16. {"d(3, 3) = 0", []int{3}, []int{3}, 0},
  17. {"d([3,4,2,1,3,3], [4,3,5,3,9,3]) = 11",
  18. []int{3, 4, 2, 1, 3, 3},
  19. []int{4, 3, 5, 3, 9, 3},
  20. 11,
  21. },
  22. }
  23. for _, c := range cases {
  24. actual := distance(c.Left, c.Right)
  25. if actual != c.Expected {
  26. t.Errorf("Expected %s; got %d", c.Name, actual)
  27. }
  28. }
  29. }