graphics: Add tests to colorm_test.go

This commit is contained in:
Hajime Hoshi 2016-11-27 23:22:50 +09:00
parent 021b23a5e7
commit 96284a564f

View File

@ -60,3 +60,83 @@ func TestColorAssign(t *testing.T) {
t.Errorf("m2.Element(%d, %d) = %f, want %f", 0, 0, got, want) t.Errorf("m2.Element(%d, %d) = %f, want %f", 0, 0, got, want)
} }
} }
func TestColorTranslate(t *testing.T) {
expected := [4][5]float64{
{1, 0, 0, 0, 0.5},
{0, 1, 0, 0, 1.5},
{0, 0, 1, 0, 2.5},
{0, 0, 0, 1, 3.5},
}
m := ColorM{}
m.Translate(0.5, 1.5, 2.5, 3.5)
for i := 0; i < 4; i++ {
for j := 0; j < 5; j++ {
got := m.Element(i, j)
want := expected[i][j]
if want != got {
t.Errorf("m.Element(%d, %d) = %f, want %f", i, j, got, want)
}
}
}
}
func TestColorScale(t *testing.T) {
expected := [4][5]float64{
{0.5, 0, 0, 0, 0},
{0, 1.5, 0, 0, 0},
{0, 0, 2.5, 0, 0},
{0, 0, 0, 3.5, 0},
}
m := ColorM{}
m.Scale(0.5, 1.5, 2.5, 3.5)
for i := 0; i < 4; i++ {
for j := 0; j < 5; j++ {
got := m.Element(i, j)
want := expected[i][j]
if want != got {
t.Errorf("m.Element(%d, %d) = %f, want %f", i, j, got, want)
}
}
}
}
func TestColorTranslateAndScale(t *testing.T) {
expected := [4][5]float64{
{1, 0, 0, 0, 0},
{0, 1, 0, 0, 0},
{0, 0, 1, 0, 0},
{0, 0, 0, 0.5, 0.5},
}
m := ColorM{}
m.Translate(0, 0, 0, 1)
m.Scale(1, 1, 1, 0.5)
for i := 0; i < 4; i++ {
for j := 0; j < 5; j++ {
got := m.Element(i, j)
want := expected[i][j]
if want != got {
t.Errorf("m.Element(%d, %d) = %f, want %f", i, j, got, want)
}
}
}
}
func TestColorMonochrome(t *testing.T) {
expected := [4][5]float64{
{0.2990, 0.5870, 0.1140, 0, 0},
{0.2990, 0.5870, 0.1140, 0, 0},
{0.2990, 0.5870, 0.1140, 0, 0},
{0, 0, 0, 1, 0},
}
m := Monochrome()
for i := 0; i < 4; i++ {
for j := 0; j < 5; j++ {
got := m.Element(i, j)
want := expected[i][j]
if want != got {
t.Errorf("m.Element(%d, %d) = %f, want %f", i, j, got, want)
}
}
}
}