1package unsnap
2
3// copyright (c) 2013-2016, Jason E. Aten.
4// License: MIT.
5
6import (
7	"bytes"
8	"math/rand"
9	"testing"
10
11	cv "github.com/glycerine/goconvey/convey"
12)
13
14func TestNewReaderNewWriterAndIllustrateBasicUse(t *testing.T) {
15
16	cv.Convey("NewReader and NewWrite basic example", t, func() {
17		rand.Seed(29)
18		data := make([]byte, 2048)
19		rand.Read(data)
20
21		var buf bytes.Buffer
22		w := NewWriter(&buf)
23
24		// compress
25		_, err := w.Write(data)
26		if err != nil {
27			panic(err)
28		}
29		w.Close()
30
31		// uncompress
32		r := NewReader(&buf)
33		data2 := make([]byte, len(data))
34		_, err = r.Read(data2)
35		if err != nil {
36			panic(err)
37		}
38
39		cv.So(data2, cv.ShouldResemble, data)
40
41	})
42}
43