123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package aretheythesame
- import "testing"
- type check struct {
- name string
- one, two []int
- expected bool
- }
- func TestComp(t *testing.T) {
- checks := []check{
- {
- "Good",
- []int{121, 144, 19, 161, 19, 144, 19, 11},
- []int{121, 14641, 20736, 361, 25921, 361, 20736, 361},
- true,
- },
- {
- "132 is not 11^2",
- []int{121, 144, 19, 161, 19, 144, 19, 11},
- []int{132, 14641, 20736, 361, 25921, 361, 20736, 361},
- false,
- },
- {
- "36100 is not the square of any member of a",
- []int{121, 144, 19, 161, 19, 144, 19, 11},
- []int{121, 14641, 20736, 36100, 25921, 361, 20736, 361},
- false,
- },
- {
- "Bad pair",
- []int{4, 4},
- []int{1, 31},
- false,
- },
- {
- "Empty and null",
- []int{},
- nil,
- false,
- },
- }
- for _, check := range checks {
- actual := Comp(check.one, check.two);
- if actual != check.expected {
- t.Errorf("%s: expected %v got %v", check.name, check.expected, actual)
- }
- }
- }
|