github.com/hoffie/larasync@v0.0.0-20151025221940-0384d2bddcef/repository/metadata_test.go (about) 1 package repository 2 3 import ( 4 "bytes" 5 6 . "gopkg.in/check.v1" 7 ) 8 9 type MetadataTests struct{} 10 11 var _ = Suite(&MetadataTests{}) 12 13 func (t *MetadataTests) TestSerialize(c *C) { 14 m1 := Metadata{ 15 Type: MetadataTypeFile, 16 RepoRelativePath: "foo.txt", 17 } 18 buf := &bytes.Buffer{} 19 written, err := m1.WriteTo(buf) 20 c.Assert(err, IsNil) 21 22 m2 := Metadata{} 23 read, err := m2.ReadFrom(buf) 24 c.Assert(err, IsNil) 25 26 c.Assert(read, Equals, written) 27 28 c.Assert(m1, DeepEquals, m2) 29 } 30 31 func (t *MetadataTests) TestSerializeDir(c *C) { 32 m1 := Metadata{ 33 Type: MetadataTypeDir, 34 RepoRelativePath: "foo.txt", 35 } 36 buf := &bytes.Buffer{} 37 written, err := m1.WriteTo(buf) 38 c.Assert(err, IsNil) 39 40 m2 := Metadata{} 41 read, err := m2.ReadFrom(buf) 42 c.Assert(err, IsNil) 43 44 c.Assert(read, Equals, written) 45 46 c.Assert(m1, DeepEquals, m2) 47 }