initial approximation
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
package draw_test
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"testing"
|
||||
|
||||
"github.com/iliadenisov/galaxy/pkg/generator/draw"
|
||||
)
|
||||
|
||||
func Test_CreatePlot(t *testing.T) {
|
||||
var pane = draw.New(10, 10)
|
||||
if len(draw.PixelsHolder(&pane)) != 4 {
|
||||
t.Errorf("wrong Pane data size, expected: %d given: %d", 4, len(draw.PixelsHolder(&pane)))
|
||||
}
|
||||
|
||||
pane = draw.New(1, 1)
|
||||
if len(draw.PixelsHolder(&pane)) != 1 {
|
||||
t.Errorf("wrong Pane data size, expected: %d given: %d", 4, len(draw.PixelsHolder(&pane)))
|
||||
}
|
||||
|
||||
pane = draw.New(32, 32)
|
||||
if len(draw.PixelsHolder(&pane)) != 32 {
|
||||
t.Errorf("wrong Pane data size, expected: %d given: %d", 4, len(draw.PixelsHolder(&pane)))
|
||||
}
|
||||
}
|
||||
|
||||
func Test_Mark(t *testing.T) {
|
||||
var size int = 7
|
||||
var pane = draw.New(uint(size), uint(size))
|
||||
for i := 0; i < int(size); i++ {
|
||||
pane.Mark(0, i)
|
||||
pane.Mark(i, 0)
|
||||
pane.Mark(size-1, i)
|
||||
pane.Mark(i, size-1)
|
||||
pane.Mark(i, i)
|
||||
pane.Mark(size-1-i, i)
|
||||
}
|
||||
|
||||
pixelsHolder := draw.PixelsHolder(&pane)
|
||||
|
||||
if len(pixelsHolder) != 2 {
|
||||
t.Errorf("expected len: %d given: %d", 2, len(pixelsHolder))
|
||||
}
|
||||
|
||||
// if !pane.Marked(0, 0) {
|
||||
// t.Errorf("should be marked at x=%d y=%d", 0, 0)
|
||||
// }
|
||||
|
||||
fmt.Println(pane)
|
||||
}
|
||||
|
||||
func Test_Cleat(t *testing.T) {
|
||||
var pane = draw.New(10, 10)
|
||||
pane.Mark(5, 5)
|
||||
pane.Mark(0, 0)
|
||||
pane.Mark(9, 9)
|
||||
if !pane.Marked(0, 0) {
|
||||
t.Errorf("should be marked at x=%d y=%d", 0, 0)
|
||||
}
|
||||
if !pane.Marked(5, 5) {
|
||||
t.Errorf("should be marked at x=%d y=%d", 5, 5)
|
||||
}
|
||||
if !pane.Marked(9, 9) {
|
||||
t.Errorf("should be marked at x=%d y=%d", 9, 9)
|
||||
}
|
||||
pane.Clear()
|
||||
for _, holder := range draw.PixelsHolder(&pane) {
|
||||
if holder != 0 {
|
||||
t.Errorf("should be all bits clear")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func Test_Circle(t *testing.T) {
|
||||
var size int = 40
|
||||
var pane1 = draw.New(uint(size), uint(size))
|
||||
pane1.Circle(size/2+5, size/2-5, float64(size/2)-3)
|
||||
fmt.Println(pane1)
|
||||
var pane2 = draw.New(uint(size), uint(size))
|
||||
pane2.CircleAdjacent(size/2+20, size/2, float64(size/2)-5)
|
||||
// fmt.Println(pane2)
|
||||
}
|
||||
Reference in New Issue
Block a user