+++ /dev/null
-package testutil
-
-import "testing"
-
-func TestDeepEqual(t *testing.T) {
- type s struct {
- a int
- b string
- }
-
- cases := []struct {
- a, b interface{}
- want bool
- }{
- {1, 1, true},
- {1, 2, false},
- {nil, nil, true},
- {nil, []byte{}, true},
- {nil, []byte{1}, false},
- {[]byte{1}, []byte{1}, true},
- {[]byte{1}, []byte{2}, false},
- {[]byte{1}, []byte{1, 2}, false},
- {[]byte{1}, []string{"1"}, false},
- {[3]byte{}, [4]byte{}, false},
- {[3]byte{1}, [3]byte{1, 0, 0}, true},
- {s{}, s{}, true},
- {s{a: 1}, s{}, false},
- {s{b: "foo"}, s{}, false},
- {"foo", "foo", true},
- {"foo", "bar", false},
- {"foo", nil, false},
- }
-
- for i, c := range cases {
- got := DeepEqual(c.a, c.b)
- if got != c.want {
- t.Errorf("case %d: got %v want %v", i, got, c.want)
- }
- }
-}