MCPcopy
hub / github.com/tinylib/msgp / TestNormalOperationWithinLimits

Function TestNormalOperationWithinLimits

_generated/limits_test.go:232–294  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

230}
231
232func TestNormalOperationWithinLimits(t *testing.T) {
233 // Test that normal operation works when everything is within limits
234 data := LimitTestData{}
235
236 // Create valid data
237 data.SmallArray = [10]int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
238 data.LargeSlice = []byte("test data")
239 data.SmallMap = map[string]int{"a": 1, "b": 2, "c": 3}
240
241 t.Run("RoundTrip_Marshal_Unmarshal", func(t *testing.T) {
242 // Test MarshalMsg -> UnmarshalMsg
243 buf, err := data.MarshalMsg(nil)
244 if err != nil {
245 t.Fatalf("MarshalMsg failed: %v", err)
246 }
247
248 var result LimitTestData
249 _, err = result.UnmarshalMsg(buf)
250 if err != nil {
251 t.Fatalf("UnmarshalMsg failed: %v", err)
252 }
253
254 // Verify data integrity
255 if result.SmallArray != data.SmallArray {
256 t.Errorf("SmallArray mismatch: got %v, want %v", result.SmallArray, data.SmallArray)
257 }
258 if !bytes.Equal(result.LargeSlice, data.LargeSlice) {
259 t.Errorf("LargeSlice mismatch: got %v, want %v", result.LargeSlice, data.LargeSlice)
260 }
261 if len(result.SmallMap) != len(data.SmallMap) {
262 t.Errorf("SmallMap length mismatch: got %d, want %d", len(result.SmallMap), len(data.SmallMap))
263 }
264 })
265
266 t.Run("RoundTrip_Encode_Decode", func(t *testing.T) {
267 // Test EncodeMsg -> DecodeMsg
268 var buf bytes.Buffer
269 writer := msgp.NewWriter(&buf)
270 err := data.EncodeMsg(writer)
271 if err != nil {
272 t.Fatalf("EncodeMsg failed: %v", err)
273 }
274 writer.Flush()
275
276 var result LimitTestData
277 reader := msgp.NewReader(&buf)
278 err = result.DecodeMsg(reader)
279 if err != nil {
280 t.Fatalf("DecodeMsg failed: %v", err)
281 }
282
283 // Verify data integrity
284 if result.SmallArray != data.SmallArray {
285 t.Errorf("SmallArray mismatch: got %v, want %v", result.SmallArray, data.SmallArray)
286 }
287 if !bytes.Equal(result.LargeSlice, data.LargeSlice) {
288 t.Errorf("LargeSlice mismatch: got %v, want %v", result.LargeSlice, data.LargeSlice)
289 }

Callers

nothing calls this directly

Calls 8

FlushMethod · 0.95
NewWriterFunction · 0.92
NewReaderFunction · 0.92
MarshalMsgMethod · 0.65
UnmarshalMsgMethod · 0.65
EncodeMsgMethod · 0.65
DecodeMsgMethod · 0.65
EqualMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…