...
1 package chroma
2
3 import (
4 "testing"
5
6 "github.com/stretchr/testify/assert"
7 )
8
9 func TestColourRGB(t *testing.T) {
10 colour := ParseColour("#8913af")
11 assert.Equal(t, uint8(0x89), colour.Red())
12 assert.Equal(t, uint8(0x13), colour.Green())
13 assert.Equal(t, uint8(0xaf), colour.Blue())
14 }
15
16 func TestColourString(t *testing.T) {
17 assert.Equal(t, "#8913af", ParseColour("#8913af").String())
18 }
19
20 func distance(a, b uint8) uint8 {
21 if a < b {
22 return b - a
23 }
24 return a - b
25 }
26
27 func TestColourBrighten(t *testing.T) {
28 actual := NewColour(128, 128, 128).Brighten(0.5)
29
30 assert.True(t, distance(192, actual.Red()) <= 2)
31 assert.True(t, distance(192, actual.Blue()) <= 2)
32 assert.True(t, distance(192, actual.Green()) <= 2)
33 actual = NewColour(128, 128, 128).Brighten(-0.5)
34 assert.True(t, distance(65, actual.Red()) <= 2)
35 assert.True(t, distance(65, actual.Blue()) <= 2)
36 assert.True(t, distance(65, actual.Green()) <= 2)
37 }
38
39 func TestColourBrightess(t *testing.T) {
40 actual := NewColour(128, 128, 128).Brightness()
41 assert.True(t, distance(128, uint8(actual*255.0)) <= 2)
42 }
43
View as plain text