init
This commit is contained in:
169
vendor/code.google.com/p/graphics-go/graphics/rotate_test.go
generated
vendored
Normal file
169
vendor/code.google.com/p/graphics-go/graphics/rotate_test.go
generated
vendored
Normal file
@ -0,0 +1,169 @@
|
||||
// Copyright 2011 The Graphics-Go Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package graphics
|
||||
|
||||
import (
|
||||
"code.google.com/p/graphics-go/graphics/graphicstest"
|
||||
"image"
|
||||
"math"
|
||||
"testing"
|
||||
|
||||
_ "image/png"
|
||||
)
|
||||
|
||||
var rotateOneColorTests = []transformOneColorTest{
|
||||
{
|
||||
"onepixel-onequarter", 1, 1, 1, 1,
|
||||
&RotateOptions{math.Pi / 2},
|
||||
[]uint8{0xff},
|
||||
[]uint8{0xff},
|
||||
},
|
||||
{
|
||||
"onepixel-partial", 1, 1, 1, 1,
|
||||
&RotateOptions{math.Pi * 2.0 / 3.0},
|
||||
[]uint8{0xff},
|
||||
[]uint8{0xff},
|
||||
},
|
||||
{
|
||||
"onepixel-complete", 1, 1, 1, 1,
|
||||
&RotateOptions{2 * math.Pi},
|
||||
[]uint8{0xff},
|
||||
[]uint8{0xff},
|
||||
},
|
||||
{
|
||||
"even-onequarter", 2, 2, 2, 2,
|
||||
&RotateOptions{math.Pi / 2.0},
|
||||
[]uint8{
|
||||
0xff, 0x00,
|
||||
0x00, 0xff,
|
||||
},
|
||||
[]uint8{
|
||||
0x00, 0xff,
|
||||
0xff, 0x00,
|
||||
},
|
||||
},
|
||||
{
|
||||
"even-complete", 2, 2, 2, 2,
|
||||
&RotateOptions{2.0 * math.Pi},
|
||||
[]uint8{
|
||||
0xff, 0x00,
|
||||
0x00, 0xff,
|
||||
},
|
||||
[]uint8{
|
||||
0xff, 0x00,
|
||||
0x00, 0xff,
|
||||
},
|
||||
},
|
||||
{
|
||||
"line-partial", 3, 3, 3, 3,
|
||||
&RotateOptions{math.Pi * 1.0 / 3.0},
|
||||
[]uint8{
|
||||
0x00, 0x00, 0x00,
|
||||
0xff, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00,
|
||||
},
|
||||
[]uint8{
|
||||
0xa2, 0x80, 0x00,
|
||||
0x22, 0xff, 0x22,
|
||||
0x00, 0x80, 0xa2,
|
||||
},
|
||||
},
|
||||
{
|
||||
"line-offset-partial", 3, 3, 3, 3,
|
||||
&RotateOptions{math.Pi * 3 / 2},
|
||||
[]uint8{
|
||||
0x00, 0x00, 0x00,
|
||||
0x00, 0xff, 0xff,
|
||||
0x00, 0x00, 0x00,
|
||||
},
|
||||
[]uint8{
|
||||
0x00, 0xff, 0x00,
|
||||
0x00, 0xff, 0x00,
|
||||
0x00, 0x00, 0x00,
|
||||
},
|
||||
},
|
||||
{
|
||||
"dot-partial", 4, 4, 4, 4,
|
||||
&RotateOptions{math.Pi},
|
||||
[]uint8{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0xff, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
},
|
||||
[]uint8{
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
0x00, 0x00, 0xff, 0x00,
|
||||
0x00, 0x00, 0x00, 0x00,
|
||||
},
|
||||
},
|
||||
}
|
||||
|
||||
func TestRotateOneColor(t *testing.T) {
|
||||
for _, oc := range rotateOneColorTests {
|
||||
src := oc.newSrc()
|
||||
dst := oc.newDst()
|
||||
|
||||
if err := Rotate(dst, src, oc.opt.(*RotateOptions)); err != nil {
|
||||
t.Errorf("rotate %s: %v", oc.desc, err)
|
||||
continue
|
||||
}
|
||||
if !checkTransformTest(t, &oc, dst) {
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func TestRotateEmpty(t *testing.T) {
|
||||
empty := image.NewRGBA(image.Rect(0, 0, 0, 0))
|
||||
if err := Rotate(empty, empty, nil); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRotateGopherSide(t *testing.T) {
|
||||
src, err := graphicstest.LoadImage("../testdata/gopher.png")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
srcb := src.Bounds()
|
||||
dst := image.NewRGBA(image.Rect(0, 0, srcb.Dy(), srcb.Dx()))
|
||||
if err := Rotate(dst, src, &RotateOptions{math.Pi / 2.0}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
cmp, err := graphicstest.LoadImage("../testdata/gopher-rotate-side.png")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
err = graphicstest.ImageWithinTolerance(dst, cmp, 0x101)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestRotateGopherPartial(t *testing.T) {
|
||||
src, err := graphicstest.LoadImage("../testdata/gopher.png")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
srcb := src.Bounds()
|
||||
dst := image.NewRGBA(image.Rect(0, 0, srcb.Dx(), srcb.Dy()))
|
||||
if err := Rotate(dst, src, &RotateOptions{math.Pi / 3.0}); err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
cmp, err := graphicstest.LoadImage("../testdata/gopher-rotate-partial.png")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
err = graphicstest.ImageWithinTolerance(dst, cmp, 0x101)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user