File: equal_test.go

package info (click to toggle)
golang-github-aws-aws-sdk-go-v2 1.24.1-2~bpo12%2B1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm-backports
  • size: 554,032 kB
  • sloc: java: 15,941; makefile: 419; sh: 175
file content (38 lines) | stat: -rw-r--r-- 874 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
package awsutil_test

import (
	"testing"

	"github.com/aws/aws-sdk-go-v2/internal/awsutil"
	"github.com/aws/smithy-go/ptr"
)

func TestDeepEqual(t *testing.T) {
	type StringAlias string

	cases := []struct {
		a, b  interface{}
		equal bool
	}{
		{"a", "a", true},
		{"a", "b", false},
		{"a", ptr.String(""), false},
		{"a", nil, false},
		{"a", ptr.String("a"), true},
		{(*bool)(nil), (*bool)(nil), true},
		{(*bool)(nil), (*string)(nil), false},
		{nil, nil, true},
		{StringAlias("abc"), "abc", true},
		{StringAlias("abc"), "efg", false},
		{StringAlias("abc"), ptr.String("abc"), true},
		{"abc", StringAlias("abc"), true},
		{StringAlias("abc"), StringAlias("abc"), true},
		{StringAlias("abc"), StringAlias("efg"), false},
	}

	for i, c := range cases {
		if awsutil.DeepEqual(c.a, c.b) != c.equal {
			t.Errorf("%d, a:%v b:%v, %t", i, c.a, c.b, c.equal)
		}
	}
}