Skip to content

Commit

Permalink
fix test cases
Browse files Browse the repository at this point in the history
  • Loading branch information
shamaton committed Aug 15, 2024
1 parent 7155d37 commit d81259d
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
4 changes: 2 additions & 2 deletions internal/decoding/complex_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ func Test_asComplex64(t *testing.T) {
},
{
Name: "Fixext16.error.i",
Data: []byte{def.Fixext16, byte(def.ComplexTypeCode()), 0, 0, 0, 1},
Data: []byte{def.Fixext16, byte(def.ComplexTypeCode()), 0, 0, 0, 0, 0, 0, 0, 1},
Error: def.ErrTooShortBytes,
MethodAs: method,
},
Expand Down Expand Up @@ -126,7 +126,7 @@ func Test_asComplex128(t *testing.T) {
},
{
Name: "Fixext16.error.i",
Data: []byte{def.Fixext16, byte(def.ComplexTypeCode()), 0, 0, 0, 1},
Data: []byte{def.Fixext16, byte(def.ComplexTypeCode()), 0, 0, 0, 0, 0, 0, 0, 1},
Error: def.ErrTooShortBytes,
MethodAs: method,
},
Expand Down
6 changes: 3 additions & 3 deletions internal/decoding/decoding.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,11 @@ func Decode(data []byte, v interface{}, asArray bool) error {
d := decoder{data: data, asArray: asArray}

if d.data == nil || len(d.data) < 1 {
return fmt.Errorf("data is empty")
return def.ErrNoData
}
rv := reflect.ValueOf(v)
if rv.Kind() != reflect.Ptr {
return fmt.Errorf("holder must set pointer value. but got: %t", v)
return fmt.Errorf("%w. v.(type): %t", def.ErrReceiverNotPointer, v)
}

rv = rv.Elem()
Expand All @@ -34,7 +34,7 @@ func Decode(data []byte, v interface{}, asArray bool) error {
return err
}
if len(data) != last {
return fmt.Errorf("failed deserialization size=%d, last=%d", len(data), last)
return fmt.Errorf("%w size=%d, last=%d", def.ErrHasLeftOver, len(data), last)
}
return err
}
Expand Down
13 changes: 11 additions & 2 deletions internal/decoding/decoding_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,17 @@ func TestDecoding(t *testing.T) {
t.Run("empty data", func(t *testing.T) {
v := new(int)
err := Decode(nil, v, false)
tu.Error(t, err)
tu.Equal(t, err.Error(), "data is empty")
tu.IsError(t, err, def.ErrNoData)
})
t.Run("not pointer", func(t *testing.T) {
v := 0
err := Decode([]byte{def.PositiveFixIntMax}, v, false)
tu.IsError(t, err, def.ErrReceiverNotPointer)
})
t.Run("left data", func(t *testing.T) {
v := new(int)
err := Decode([]byte{def.PositiveFixIntMin, 0}, v, false)
tu.IsError(t, err, def.ErrHasLeftOver)
})
}

Expand Down

0 comments on commit d81259d

Please sign in to comment.