go-hexcolor/hexcolor_test.go

33 lines
618 B
Go

package go_hexcolor
import (
"testing"
"github.com/stretchr/testify/assert"
)
func TestNewHexColor(t *testing.T) {
cases := []struct {
color string
hex string
err bool
}{
{"#dd22cc", "dd22cc", false},
{"#adf", "aaddff", false},
{"15d", "1155dd", false},
{"a5i", "", true},
}
for _, tc := range cases {
hc, err := NewHexColor(tc.color)
if tc.err && err == nil {
t.Fatalf("expected error for color: %q", tc.color)
} else if !tc.err && err != nil {
t.Fatalf("error for color %q: %s", tc.color, err)
}
if assert.NotNil(t, hc) {
assert.EqualValues(t, tc.hex, hc.hex)
}
}
}