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  }