From 4e6d37095c6c75632ca9c4af2cbb3276364c2e5a Mon Sep 17 00:00:00 2001 From: Marc Pervaz Boocha Date: Tue, 25 Feb 2025 09:46:37 +0530 Subject: Add additional test cases to improve coverage and robustness --- encoding_test.go | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) (limited to 'encoding_test.go') diff --git a/encoding_test.go b/encoding_test.go index 5fc4c9a..bac148c 100644 --- a/encoding_test.go +++ b/encoding_test.go @@ -40,6 +40,40 @@ func TestEncodeDecodeUint64(t *testing.T) { assert.Equal(t, tt.value, decodedValue) }) } +func TestDecodeUint64Error(t *testing.T) { + var buf bytes.Buffer + buf.Write([]byte{0xFF}) // Invalid data for uint64 + decoder := newDecoder(&buf) + + _, err := decoder.DecodeUint64() + assert.Error(t, err) +func TestEncodeDecodeTimeBoundary(t *testing.T) { + tests := []struct { + name string + value time.Time + }{ + {name: "Unix Epoch", value: time.Unix(0, 0)}, + {name: "Far Future", value: time.Unix(1<<63-1, 0)}, + } + + for _, tt := range tests { + t.Run(tt.name, func(t *testing.T) { + var buf bytes.Buffer + e := newEncoder(&buf) + + err := e.EncodeTime(tt.value) + assert.NoError(t, err) + err = e.Flush() + assert.NoError(t, err) + + decoder := newDecoder(bytes.NewReader(buf.Bytes())) + + decodedValue, err := decoder.DecodeTime() + assert.NoError(t, err) + + assert.Equal(t, tt.value, decodedValue) + }) + } } func TestEncodeDecodeTime(t *testing.T) { -- cgit v1.2.3-70-g09d2