36 lines
570 B
Go
36 lines
570 B
Go
|
package drawing
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
assert "github.com/blendlabs/go-assert"
|
||
|
)
|
||
|
|
||
|
type point struct {
|
||
|
X, Y float64
|
||
|
}
|
||
|
|
||
|
type mockLine struct {
|
||
|
inner []point
|
||
|
}
|
||
|
|
||
|
func (ml *mockLine) LineTo(x, y float64) {
|
||
|
ml.inner = append(ml.inner, point{x, y})
|
||
|
}
|
||
|
|
||
|
func (ml mockLine) Len() int {
|
||
|
return len(ml.inner)
|
||
|
}
|
||
|
|
||
|
func TestTraceQuad(t *testing.T) {
|
||
|
assert := assert.New(t)
|
||
|
|
||
|
// Quad
|
||
|
// x1, y1, cpx1, cpy2, x2, y2 float64
|
||
|
// do the 9->12 circle segment
|
||
|
quad := []float64{10, 20, 20, 20, 20, 10}
|
||
|
liner := &mockLine{}
|
||
|
TraceQuad(liner, quad, 0.5)
|
||
|
assert.NotZero(liner.Len())
|
||
|
}
|