5 "github.com/stretchr/testify/assert"
9 func TestReadUser(t *testing.T) {
20 name: "returns expected User struct",
45 for _, tt := range tests {
46 t.Run(tt.name, func(t *testing.T) {
48 _, err := user.Write(tt.args.b)
49 if (err != nil) != tt.wantErr {
50 t.Errorf("ReadUser() error = %v, wantErr %v", err, tt.wantErr)
53 if !assert.Equal(t, tt.want, &user) {
54 t.Errorf("ReadUser() got = %v, want %v", user, tt.want)
60 func TestDecodeUserString(t *testing.T) {
67 wantDecodedString string
70 name: "decodes bytes to guest",
72 encodedString: []byte{
73 0x98, 0x8a, 0x9a, 0x8c, 0x8b,
76 wantDecodedString: "guest",
79 for _, tt := range tests {
80 t.Run(tt.name, func(t *testing.T) {
81 if gotDecodedString := decodeString(tt.args.encodedString); gotDecodedString != tt.wantDecodedString {
82 t.Errorf("decodeString() = %v, want %v", gotDecodedString, tt.wantDecodedString)
88 func TestNegatedUserString(t *testing.T) {
98 name: "encodes bytes to expected string",
100 encodedString: []byte("guest"),
102 want: []byte{0x98, 0x8a, 0x9a, 0x8c, 0x8b},
105 name: "encodes bytes with numerals to expected string",
107 encodedString: []byte("foo1"),
109 want: []byte{0x99, 0x90, 0x90, 0xce},
112 for _, tt := range tests {
113 t.Run(tt.name, func(t *testing.T) {
114 if got := encodeString(tt.args.encodedString); !bytes.Equal(got, tt.want) {
115 t.Errorf("NegatedUserString() = %x, want %x", got, tt.want)