(t *testing.T)
| 230 | } |
| 231 | |
| 232 | func 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 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…