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}
60