1package binary
2
3import (
4 "bytes"
5 "encoding/binary"
6
7 . "gopkg.in/check.v1"
8)
9
10func (s *BinarySuite) TestWrite(c *C) {
11 expected := bytes.NewBuffer(nil)
12 err := binary.Write(expected, binary.BigEndian, int64(42))
13 c.Assert(err, IsNil)
14 err = binary.Write(expected, binary.BigEndian, int32(42))
15 c.Assert(err, IsNil)
16
17 buf := bytes.NewBuffer(nil)
18 err = Write(buf, int64(42), int32(42))
19 c.Assert(err, IsNil)
20 c.Assert(buf, DeepEquals, expected)
21}
22
23func (s *BinarySuite) TestWriteUint32(c *C) {
24 expected := bytes.NewBuffer(nil)
25 err := binary.Write(expected, binary.BigEndian, int32(42))
26 c.Assert(err, IsNil)
27
28 buf := bytes.NewBuffer(nil)
29 err = WriteUint32(buf, 42)
30 c.Assert(err, IsNil)
31 c.Assert(buf, DeepEquals, expected)
32}
33
34func (s *BinarySuite) TestWriteUint16(c *C) {
35 expected := bytes.NewBuffer(nil)
36 err := binary.Write(expected, binary.BigEndian, int16(42))
37 c.Assert(err, IsNil)
38
39 buf := bytes.NewBuffer(nil)
40 err = WriteUint16(buf, 42)
41 c.Assert(err, IsNil)
42 c.Assert(buf, DeepEquals, expected)
43}
44
45func (s *BinarySuite) TestWriteVariableWidthInt(c *C) {
46 buf := bytes.NewBuffer(nil)
47
48 err := WriteVariableWidthInt(buf, 366)
49 c.Assert(err, IsNil)
50 c.Assert(buf.Bytes(), DeepEquals, []byte{129, 110})
51}
52
53func (s *BinarySuite) TestWriteVariableWidthIntShort(c *C) {
54 buf := bytes.NewBuffer(nil)
55
56 err := WriteVariableWidthInt(buf, 19)
57 c.Assert(err, IsNil)
58 c.Assert(buf.Bytes(), DeepEquals, []byte{19})
59}