aboutsummaryrefslogtreecommitdiff
path: root/go/game/range_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/game/range_test.go')
-rw-r--r--go/game/range_test.go37
1 files changed, 23 insertions, 14 deletions
diff --git a/go/game/range_test.go b/go/game/range_test.go
index cfd03e55..3d1636a6 100644
--- a/go/game/range_test.go
+++ b/go/game/range_test.go
@@ -7,19 +7,33 @@ import (
"golang.org/x/exp/slices"
)
-func TestPositionsInRange(t *testing.T) {
- origin := Position{0, 0}
- positionsInRange1 := []Position{{0, 1}, {1, 0}, {1, 1}}
- calculatedPositions := PositionsInRange(origin, 1, false)
- if len(positionsInRange1) != len(calculatedPositions) {
- t.Fatalf("Unexpected number of calculated positions")
+func assertPosSliceEqual(is, exp []Position, t *testing.T) {
+ if len(is) != len(exp) {
+ t.Fatal("Unexpected number of calculated positions:", is, exp)
}
- for _, p := range positionsInRange1 {
- if !slices.Contains(calculatedPositions, p) {
+ for _, p := range exp {
+ if !slices.Contains(is, p) {
t.Fatalf("Position %v not in calculated positions", p)
}
}
+}
+
+func TestPositionsInRange(t *testing.T) {
+ origin := Position{0, 0}
+ positionsInRange1 := []Position{{0, 1}, {1, 0}, {1, 1}}
+ calculatedPositions := PositionsInRange(origin, 1, false)
+ assertPosSliceEqual(calculatedPositions, positionsInRange1, t)
+
+ origin = Position{1, 0}
+ positionsInRange1 = []Position{{0, 0}, {0, 1}, {1, 1}, {2, 0}, {2, 1}}
+ calculatedPositions = PositionsInRange(origin, 1, false)
+ assertPosSliceEqual(calculatedPositions, positionsInRange1, t)
+
+ origin = Position{0, 2}
+ positionsInRange1 = []Position{{0, 1}, {1, 1}, {1, 2}, {0, 3}, {1, 3}}
+ calculatedPositions = PositionsInRange(origin, 1, false)
+ assertPosSliceEqual(calculatedPositions, positionsInRange1, t)
origin = Position{2, 2}
positionsInRange2 := []Position{
@@ -45,12 +59,7 @@ func TestPositionsInRange(t *testing.T) {
{4, 3},
}
calculatedPositions = PositionsInRange(origin, 2, false)
-
- for _, p := range positionsInRange2 {
- if !slices.Contains(calculatedPositions, p) {
- t.Fatalf("Position %v not in calculated positions", p)
- }
- }
+ assertPosSliceEqual(calculatedPositions, positionsInRange2, t)
}
func TestPositionNotInRange(t *testing.T) {