package magna import ( "fmt" "testing" "github.com/stretchr/testify/assert" ) func TestBufferOverflowError(t *testing.T) { tests := []struct { name string length int offset int expected string }{ {"PositiveOffset", 10, 15, "magna: offset 15 is past the buffer length 10"}, {"ZeroLengthBuffer", 0, 5, "magna: offset 5 is past the buffer length 0"}, {"NegativeOffset", 10, -1, "magna: offset -1 is past the buffer length 10"}, {"EqualOffset", 10, 10, "magna: offset 10 is past the buffer length 10"}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { err := &BufferOverflowError{Length: tt.length, Offset: tt.offset} assert.Equal(t, tt.expected, err.Error()) }) } } func TestInvalidLabelError(t *testing.T) { tests := []struct { name string length int expected string }{ {"LengthTooLarge", 64, "magna: received invalid label length 64"}, {"LengthZero", 0, "magna: received invalid label length 0"}, {"NegativeLength", -1, "magna: received invalid label length -1"}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { err := &InvalidLabelError{Length: tt.length} assert.Equal(t, tt.expected, err.Error()) }) } } func TestDomainCompressionError(t *testing.T) { t.Run("Standard", func(t *testing.T) { err := &DomainCompressionError{} expected := "magna: loop detected in domain compression" assert.Equal(t, expected, err.Error(), "Error() output mismatch") }) } func TestMagnaError(t *testing.T) { tests := []struct { name string message string expected string }{ {"EmptyMessage", "", "magna: "}, {"SimpleMessage", "test error", "magna: test error"}, {"MessageWithPunctuation", "error: invalid input!", "magna: error: invalid input!"}, } for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { err := &MagnaError{Message: tt.message} assert.Equal(t, tt.expected, err.Error()) }) } }