diff options
Diffstat (limited to 'utils/binary/write_test.go')
-rw-r--r-- | utils/binary/write_test.go | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/utils/binary/write_test.go b/utils/binary/write_test.go new file mode 100644 index 0000000..1380280 --- /dev/null +++ b/utils/binary/write_test.go @@ -0,0 +1,59 @@ +package binary + +import ( + "bytes" + "encoding/binary" + + . "gopkg.in/check.v1" +) + +func (s *BinarySuite) TestWrite(c *C) { + expected := bytes.NewBuffer(nil) + err := binary.Write(expected, binary.BigEndian, int64(42)) + c.Assert(err, IsNil) + err = binary.Write(expected, binary.BigEndian, int32(42)) + c.Assert(err, IsNil) + + buf := bytes.NewBuffer(nil) + err = Write(buf, int64(42), int32(42)) + c.Assert(err, IsNil) + c.Assert(buf, DeepEquals, expected) +} + +func (s *BinarySuite) TestWriteUint32(c *C) { + expected := bytes.NewBuffer(nil) + err := binary.Write(expected, binary.BigEndian, int32(42)) + c.Assert(err, IsNil) + + buf := bytes.NewBuffer(nil) + err = WriteUint32(buf, 42) + c.Assert(err, IsNil) + c.Assert(buf, DeepEquals, expected) +} + +func (s *BinarySuite) TestWriteUint16(c *C) { + expected := bytes.NewBuffer(nil) + err := binary.Write(expected, binary.BigEndian, int16(42)) + c.Assert(err, IsNil) + + buf := bytes.NewBuffer(nil) + err = WriteUint16(buf, 42) + c.Assert(err, IsNil) + c.Assert(buf, DeepEquals, expected) +} + +func (s *BinarySuite) TestWriteVariableWidthInt(c *C) { + buf := bytes.NewBuffer(nil) + + err := WriteVariableWidthInt(buf, 366) + c.Assert(err, IsNil) + c.Assert(buf.Bytes(), DeepEquals, []byte{129, 110}) +} + +func (s *BinarySuite) TestWriteVariableWidthIntShort(c *C) { + buf := bytes.NewBuffer(nil) + + err := WriteVariableWidthInt(buf, 19) + c.Assert(err, IsNil) + c.Assert(buf.Bytes(), DeepEquals, []byte{19}) +} |