From 9998534a5136066972bea6ca0f66246d51d4b97a Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Sun, 30 Oct 2016 23:57:23 +0900 Subject: [PATCH] graphics: Add tests for ColorM --- colorm_test.go | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/colorm_test.go b/colorm_test.go index 9241c53f0..ad9ecef52 100644 --- a/colorm_test.go +++ b/colorm_test.go @@ -34,6 +34,20 @@ func TestColorInit(t *testing.T) { } } + m.SetElement(0, 0, 1) + for i := 0; i < ColorMDim-1; i++ { + for j := 0; j < ColorMDim; j++ { + got := m.Element(i, j) + want := 0.0 + if i == j { + want = 1 + } + if want != got { + t.Errorf("m.Element(%d, %d) = %f, want %f", i, j, got, want) + } + } + } + m.Add(m) for i := 0; i < ColorMDim-1; i++ { for j := 0; j < ColorMDim; j++ { @@ -60,3 +74,42 @@ func TestColorAssign(t *testing.T) { 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 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) + } + } + } +}