mirror of
https://github.com/taigrr/colorhash.git
synced 2026-04-02 03:08:48 -07:00
add colors starter files
This commit is contained in:
88
colors_test.go
Normal file
88
colors_test.go
Normal file
@@ -0,0 +1,88 @@
|
||||
package go_colorhash
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestCreateColor(t *testing.T) {
|
||||
tc := []struct {
|
||||
ID string
|
||||
Value int
|
||||
Result int
|
||||
}{{ID: "white", Value: TotalHexColorspace - 1, Result: TotalHexColorspace - 1},
|
||||
{ID: "WraparoundBlack", Value: TotalHexColorspace, Result: 0},
|
||||
{ID: "black", Value: 0, Result: 0},
|
||||
}
|
||||
for _, c := range tc {
|
||||
t.Run(c.ID, func(t *testing.T) {
|
||||
color := CreateColor(c.Value)
|
||||
if color.Value != c.Result {
|
||||
t.Errorf("Expected Value %d, but got %d", c.Result, color.Value)
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
func TestToHex(t *testing.T) {
|
||||
tc := []struct {
|
||||
ID string
|
||||
R int
|
||||
G int
|
||||
B int
|
||||
Result string
|
||||
}{{ID: "red", R: 0xFF, G: 0x00, B: 0x00, Result: "#FF0000"},
|
||||
{ID: "black", R: 0, G: 0, B: 0, Result: "#000000"},
|
||||
}
|
||||
for _, c := range tc {
|
||||
t.Run(c.ID, func(t *testing.T) {
|
||||
color := RGB(c.R, c.G, c.B)
|
||||
if color.ToHex() != c.Result {
|
||||
t.Errorf("Expected Value %s, but got %s", c.Result, color.ToHex())
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
func TestRGB(t *testing.T) {
|
||||
tc := []struct {
|
||||
ID string
|
||||
R int
|
||||
G int
|
||||
B int
|
||||
Result int
|
||||
}{{ID: "white", R: 255, G: 255, B: 255, Result: TotalHexColorspace - 1},
|
||||
{ID: "black", R: 0, G: 0, B: 0, Result: 0},
|
||||
}
|
||||
for _, c := range tc {
|
||||
t.Run(c.ID, func(t *testing.T) {
|
||||
color := RGB(c.R, c.G, c.B)
|
||||
if color.Value != c.Result {
|
||||
t.Errorf("Expected Value %d, but got %d", c.Result, color.Value)
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
func TestFromHex(t *testing.T) {
|
||||
tc := []struct {
|
||||
ID string
|
||||
Input string
|
||||
Result string
|
||||
Error error
|
||||
}{{ID: "red", Input: "#F00", Result: "#FF0000", Error: nil},
|
||||
{ID: "red", Input: "#F00000", Result: "#F00000", Error: nil},
|
||||
}
|
||||
for _, c := range tc {
|
||||
t.Run(c.ID, func(t *testing.T) {
|
||||
color, err := FromHex(c.Input)
|
||||
if !errors.Is(err, c.Error) {
|
||||
t.Error(err)
|
||||
}
|
||||
if color.ToHex() != c.Result {
|
||||
t.Errorf("Expected Value %s, but got %s", c.Result, color.ToHex())
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user