MCPcopy Create free account
hub / github.com/google/go-cloud / TestEncode

Function TestEncode

docstore/driver/codec_test.go:84–202  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

82}
83
84func TestEncode(t *testing.T) {
85 var seven int32 = 7
86 var nullptr *int
87 tm := time.Now()
88 tmb, err := tm.MarshalBinary()
89 if err != nil {
90 t.Fatal(err)
91 }
92 tru := true
93 ts := &tspb.Timestamp{Seconds: 25, Nanos: 300}
94 tsb, err := proto.Marshal(ts)
95 if err != nil {
96 t.Fatal(err)
97 }
98 for _, test := range []struct {
99 in, want any
100 }{
101 {nil, nil},
102 {0, int64(0)},
103 {uint64(999), uint64(999)},
104 {float32(3.5), float64(3.5)},
105 {"", ""},
106 {"x", "x"},
107 {true, true},
108 {nullptr, nil},
109 {seven, int64(seven)},
110 {&seven, int64(seven)},
111 {[]byte{1, 2}, []byte{1, 2}},
112 {[2]byte{3, 4}, []any{uint64(3), uint64(4)}},
113 {[]int(nil), nil},
114 {[]int{}, []any{}},
115 {[]int{1, 2}, []any{int64(1), int64(2)}},
116 {
117 [][]string{{"a", "b"}, {"c", "d"}},
118 []any{
119 []any{"a", "b"},
120 []any{"c", "d"},
121 },
122 },
123 {[...]int{1, 2}, []any{int64(1), int64(2)}},
124 {[]any{nil, false}, []any{nil, false}},
125 {map[string]int(nil), nil},
126 {map[string]int{}, map[string]any{}},
127 {
128 map[string]int{"a": 1, "b": 2},
129 map[string]any{"a": int64(1), "b": int64(2)},
130 },
131 {tm, tmb},
132 {ts, tsb},
133 {te{'A'}, "A"},
134 {special(17), 17},
135 {myString("x"), "x"},
136 {[]myString{"x"}, []any{"x"}},
137 {map[myString]myString{"a": "x"}, map[string]any{"a": "x"}},
138 {
139 map[int]bool{17: true},
140 map[string]any{"17": true},
141 },

Callers

nothing calls this directly

Calls 4

specialTypeAlias · 0.85
myStringTypeAlias · 0.85
EncodeFunction · 0.85
MarshalBinaryMethod · 0.45

Tested by

no test coverage detected