package zntg import ( "image/color" "testing" "github.com/stretchr/testify/assert" ) func TestHexColor(t *testing.T) { type test struct { Hex string Success bool Expected color.RGBA } tests := []test{ test{Hex: "#AA3939", Success: true, Expected: color.RGBA{R: 170, G: 57, B: 57, A: 255}}, test{Hex: "AA3939", Success: true, Expected: color.RGBA{R: 170, G: 57, B: 57, A: 255}}, test{Hex: "#AA3939BB", Success: true, Expected: color.RGBA{R: 170, G: 57, B: 57, A: 187}}, test{Hex: "AG3939", Success: false, Expected: color.RGBA{}}, test{Hex: "AA3939A", Success: false, Expected: color.RGBA{}}, test{Hex: "AA39A", Success: false, Expected: color.RGBA{}}, } for _, test := range tests { color, err := HexColor(test.Hex) if test.Success { assert.Nil(t, err) assert.Equal(t, color, test.Expected) } else { assert.NotNil(t, err) } } }