+ want: 30,
+ wantErr: assert.NoError,
+ wantBytes: []byte{0x0, 0x1, 0x0, 0x0, 0x9a, 0xcb, 0x4, 0x42, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x0, 0x0, 0x0, 0xa, 0x0, 0x1, 0x0, 0x65, 0x0, 0x4, 0x54, 0x45, 0x53, 0x54},
+ },
+ {
+ name: "returns transaction bytes from readOffset",
+ fields: fields{
+ Flags: 0x00,
+ IsReply: 0x01,
+ Type: []byte{0, 0},
+ ID: []byte{0x9a, 0xcb, 0x04, 0x42},
+ ErrorCode: []byte{0, 0, 0, 0},
+ Fields: []Field{
+ NewField(FieldData, []byte("TEST")),
+ },
+ readOffset: 20,
+ },
+ args: args{
+ p: make([]byte, 1024),
+ },
+ want: 10,
+ wantErr: assert.NoError,
+ wantBytes: []byte{0x0, 0x1, 0x0, 0x65, 0x0, 0x4, 0x54, 0x45, 0x53, 0x54},
+ },
+ {
+ name: "returns io.EOF when all bytes read",
+ fields: fields{
+ Flags: 0x00,
+ IsReply: 0x01,
+ Type: []byte{0, 0},
+ ID: []byte{0x9a, 0xcb, 0x04, 0x42},
+ ErrorCode: []byte{0, 0, 0, 0},
+ Fields: []Field{
+ NewField(FieldData, []byte("TEST")),
+ },
+ readOffset: 30,
+ },
+ args: args{
+ p: make([]byte, 1024),
+ },
+ want: 0,
+ wantErr: assert.Error,
+ wantBytes: []byte{},