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