Adding test at byte level

This commit is contained in:
Frederick F. Kautz IV
2015-03-01 15:13:09 -08:00
parent 0b08312ddd
commit 6f300c9ef0
2 changed files with 25 additions and 4 deletions
@@ -18,6 +18,9 @@ package data_v1
import (
"bytes"
"encoding/binary"
"encoding/gob"
"io"
"testing"
. "gopkg.in/check.v1"
@@ -46,4 +49,23 @@ func (s *MySuite) TestSingleWrite(c *C) {
err := WriteData(&testBuffer, header, bytes.NewBufferString(testData))
c.Assert(err, IsNil)
actualVersion := make([]byte, 4)
_, err = testBuffer.Read(actualVersion)
c.Assert(err, IsNil)
c.Assert(binary.LittleEndian.Uint32(actualVersion), DeepEquals, uint32(1))
actualHeader := DataHeader{}
decoder := gob.NewDecoder(&testBuffer)
decoder.Decode(&actualHeader)
c.Assert(actualHeader, DeepEquals, header)
var actualData bytes.Buffer
dataLength, err := io.Copy(&actualData, &testBuffer)
c.Assert(dataLength, Equals, int64(len(testData)))
c.Assert(actualData.Bytes(), DeepEquals, []byte(testData))
c.Assert(err, IsNil)
}