Files
galaxy-game/pkg/generator/draw/draw_test.go
T
2023-08-04 07:44:35 +03:00

83 lines
1.9 KiB
Go

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)
}