github.com/andy2046/gopie@v0.7.0/pkg/tlv/tlv_test.go (about) 1 package tlv 2 3 import ( 4 "bytes" 5 "testing" 6 ) 7 8 func TestTLV(t *testing.T) { 9 v := "hola, tlv!" 10 typ := uint(8) 11 buf := new(bytes.Buffer) 12 codec := &Codec{TypeBytes: Bytes1, LenBytes: Bytes2} 13 writer := NewWriter(buf, codec) 14 15 record := &Record{ 16 Payload: []byte(v), 17 Type: typ, 18 } 19 writer.Write(record) 20 21 reader := bytes.NewReader(buf.Bytes()) 22 tlvReader := NewReader(reader, codec) 23 next, _ := tlvReader.Next() 24 25 if next.Type != typ { 26 t.Errorf("expected %d got %d", typ, next.Type) 27 } 28 29 if r := string(next.Payload); r != v { 30 t.Errorf("expected %s got %s", v, r) 31 } 32 33 t.Logf("type: %d\n", next.Type) 34 t.Logf("payload: %s\n", string(next.Payload)) 35 }