github.com/insionng/yougam@v0.0.0-20170714101924-2bc18d833463/libraries/pingcap/go-hbase/column_test.go (about)

     1  package hbase
     2  
     3  import (
     4  	"bytes"
     5  	"testing"
     6  
     7  	. "github.com/insionng/yougam/libraries/pingcap/check"
     8  )
     9  
    10  func Test(t *testing.T) { TestingT(t) }
    11  
    12  type ColumnTestSuit struct{}
    13  
    14  var _ = Suite(&ColumnTestSuit{})
    15  
    16  func (s *ColumnTestSuit) TestColumn(c *C) {
    17  	col := NewColumn([]byte("cf"), []byte("q"))
    18  	c.Assert(bytes.Compare(col.Family, []byte("cf")), Equals, 0)
    19  	c.Assert(bytes.Compare(col.Qual, []byte("q")), Equals, 0)
    20  
    21  	c.Assert(bytes.Compare(col.Family, []byte("cf")), Equals, 0)
    22  	c.Assert(bytes.Compare(col.Qual, []byte("q")), Equals, 0)
    23  
    24  	buf := bytes.NewBuffer(nil)
    25  	err := col.Write(buf)
    26  	c.Assert(err, IsNil)
    27  	c.Assert(buf.Bytes(), HasLen, 5)
    28  }
    29  
    30  func (s *ColumnTestSuit) TestColumnCoordinate(c *C) {
    31  	cc := NewColumnCoordinate([]byte("tbl"),
    32  		[]byte("row"), []byte("cf"), []byte("q"))
    33  
    34  	buf := bytes.NewBuffer(nil)
    35  	err := cc.Write(buf)
    36  	c.Assert(err, IsNil)
    37  	c.Assert(buf.Bytes(), HasLen, 13)
    38  
    39  	cc2 := NewColumnCoordinate([]byte("tbl1"),
    40  		[]byte("row"), []byte("cf"), []byte("q"))
    41  
    42  	c.Assert(cc.Equal(cc2), IsFalse)
    43  	cc2.Table = []byte("tbl")
    44  	c.Assert(cc.Equal(cc2), IsTrue)
    45  
    46  	c.Assert(cc.String(), Equals, "\x03tbl\x03row\x02cf\x01q")
    47  }