MCPcopy Create free account
hub / github.com/segmentio/encoding / testProtocolReadWriteValues

Function testProtocolReadWriteValues

thrift/protocol_test.go:170–204  ·  view source on GitHub ↗
(t *testing.T, p thrift.Protocol)

Source from the content-addressed store, hash-verified

168}
169
170func testProtocolReadWriteValues(t *testing.T, p thrift.Protocol) {
171 for _, test := range protocolReadWriteTests {
172 t.Run(test.scenario, func(t *testing.T) {
173 b := new(bytes.Buffer)
174 r := p.NewReader(b)
175 w := p.NewWriter(b)
176
177 for _, value := range test.values {
178 ret := reflect.ValueOf(test.write).Call([]reflect.Value{
179 reflect.ValueOf(w),
180 reflect.ValueOf(value),
181 })
182 if err, _ := ret[0].Interface().(error); err != nil {
183 t.Fatal("encoding:", err)
184 }
185 }
186
187 for _, value := range test.values {
188 ret := reflect.ValueOf(test.read).Call([]reflect.Value{
189 reflect.ValueOf(r),
190 })
191 if err, _ := ret[1].Interface().(error); err != nil {
192 t.Fatal("decoding:", err)
193 }
194 if res := ret[0].Interface(); !reflect.DeepEqual(value, res) {
195 t.Errorf("value mismatch:\nwant: %#v\ngot: %#v", value, res)
196 }
197 }
198
199 if b.Len() != 0 {
200 t.Errorf("unexpected trailing bytes: %d", b.Len())
201 }
202 })
203 }
204}

Callers 1

TestProtocolsFunction · 0.85

Calls 3

NewReaderMethod · 0.65
NewWriterMethod · 0.65
LenMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…