Skip to content

Commit c8a14cd

Browse files
committed
Added tests for anyToString
1 parent 8a62ac2 commit c8a14cd

File tree

1 file changed

+74
-0
lines changed

1 file changed

+74
-0
lines changed

internal/common/util/stringer_test.go

Lines changed: 74 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,80 @@ import (
2727
"github.com/stretchr/testify/require"
2828
)
2929

30+
func Test_anyToString(t *testing.T) {
31+
testCases := []struct {
32+
name string
33+
thingToSerialize interface{}
34+
expected string
35+
}{
36+
{
37+
name: "nil",
38+
thingToSerialize: nil,
39+
expected: "<nil>",
40+
},
41+
{
42+
name: "int",
43+
thingToSerialize: 1,
44+
expected: "1",
45+
},
46+
{
47+
name: "string",
48+
thingToSerialize: "test",
49+
expected: "test",
50+
},
51+
{
52+
name: "struct",
53+
thingToSerialize: struct {
54+
A string
55+
B int
56+
C bool
57+
}{A: "test", B: 1, C: true},
58+
expected: "(A:test, B:1, C:true)",
59+
},
60+
{
61+
name: "pointer",
62+
thingToSerialize: &struct {
63+
A string
64+
B int
65+
C bool
66+
}{A: "test", B: 1, C: true},
67+
expected: "(A:test, B:1, C:true)",
68+
},
69+
{
70+
name: "slice",
71+
thingToSerialize: []int{1, 2, 3},
72+
expected: "[1 2 3]",
73+
},
74+
{
75+
name: "struct with slice",
76+
thingToSerialize: struct{ A []int }{A: []int{1, 2, 3}},
77+
expected: "(A:[len=3])",
78+
},
79+
{
80+
name: "struct with blob",
81+
thingToSerialize: struct{ A []byte }{A: []byte("blob-data")},
82+
expected: "(A:[blob-data])",
83+
},
84+
{
85+
name: "struct with struct",
86+
thingToSerialize: struct{ A struct{ B int } }{A: struct{ B int }{B: 1}},
87+
expected: "(A:(B:1))",
88+
},
89+
{
90+
name: "struct with pointer",
91+
thingToSerialize: struct{ A *int }{A: new(int)},
92+
expected: "(A:0)",
93+
},
94+
}
95+
96+
for _, tc := range testCases {
97+
t.Run(tc.name, func(t *testing.T) {
98+
actual := anyToString(tc.thingToSerialize)
99+
require.Equal(t, tc.expected, actual)
100+
})
101+
}
102+
}
103+
30104
func Test_byteSliceToString(t *testing.T) {
31105
data := []byte("blob-data")
32106
v := reflect.ValueOf(data)

0 commit comments

Comments
 (0)