graphics: Update TestImageScale

This commit is contained in:
Hajime Hoshi 2017-02-05 16:05:19 +09:00
parent 4f45c0361d
commit 98054928ac

View File

@ -208,30 +208,32 @@ func TestImageSelf(t *testing.T) {
} }
func TestImageScale(t *testing.T) { func TestImageScale(t *testing.T) {
img0, _, err := openEbitenImage("testdata/ebiten.png") for _, scale := range []int{2, 3, 4} {
if err != nil { img0, _, err := openEbitenImage("testdata/ebiten.png")
t.Fatal(err) if err != nil {
return t.Fatal(err)
} return
w, h := img0.Size() }
img1, err := NewImage(w*2, h*2, FilterNearest) w, h := img0.Size()
if err != nil { img1, err := NewImage(w*scale, h*scale, FilterNearest)
t.Fatal(err) if err != nil {
return t.Fatal(err)
} return
op := &DrawImageOptions{} }
op.GeoM.Scale(2, 2) op := &DrawImageOptions{}
if err := img1.DrawImage(img0, op); err != nil { op.GeoM.Scale(float64(scale), float64(scale))
t.Fatal(err) if err := img1.DrawImage(img0, op); err != nil {
return t.Fatal(err)
} return
}
for j := 0; j < h*2; j++ { for j := 0; j < h*2; j++ {
for i := 0; i < w*2; i++ { for i := 0; i < w*2; i++ {
c0 := img0.At(i/2, j/2).(color.RGBA) c0 := img0.At(i/scale, j/scale).(color.RGBA)
c1 := img1.At(i, j).(color.RGBA) c1 := img1.At(i, j).(color.RGBA)
if c0 != c1 { if c0 != c1 {
t.Errorf("img0.At(%[1]d, %[2]d) should equal to img1.At(%[3]d, %[4]d) but not: %[5]v vs %[6]v", i/2, j/2, i, j, c0, c1) t.Errorf("img0.At(%[1]d, %[2]d) should equal to img1.At(%[3]d, %[4]d) (with scale %[5]d) but not: %[6]v vs %[7]v", i/2, j/2, i, j, scale, c0, c1)
}
} }
} }
} }