Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added ReadInt32 for decoder #66

Closed
wants to merge 1 commit into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
5 changes: 5 additions & 0 deletions decoder.go
Expand Up @@ -144,6 +144,11 @@ func (d *Decoder) Decode(v interface{}) (err error) {
n, err = d.ReadInt16()
rv.SetInt(int64(n))
return
case *int32:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Going to merge, it's all good. Just curious, where it failing to decode a int32?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

in parsing table content.

var n int32
n, err = d.ReadInt32()
rv.SetInt(int64(n))
return
case *int64:
var n int64
n, err = d.ReadInt64()
Expand Down
20 changes: 20 additions & 0 deletions decoder_test.go
Expand Up @@ -153,6 +153,26 @@ func TestDecoder_Uint32(t *testing.T) {
assert.Equal(t, 0, d.remaining())
}

func TestDecoder_Int32(t *testing.T) {

buf := new(bytes.Buffer)
enc := NewEncoder(buf)
enc.writeInt32(int32(342))
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In fact, can you add a negative test like in Line #116 so we cover both positive and negative numbers.

Once it's changed, I'm going to merge your work.

enc.writeInt32(int32(100))

d := NewDecoder(buf.Bytes())

n, err := d.ReadInt32()
assert.NoError(t, err)
assert.Equal(t, int32(342), n)
assert.Equal(t, 4, d.remaining())

n, err = d.ReadInt32()
assert.NoError(t, err)
assert.Equal(t, int32(100), n)
assert.Equal(t, 0, d.remaining())
}

func TestDecoder_Uint64(t *testing.T) {

buf := new(bytes.Buffer)
Expand Down