aboutsummaryrefslogtreecommitdiff
path: root/go/game/map_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'go/game/map_test.go')
-rw-r--r--go/game/map_test.go35
1 files changed, 28 insertions, 7 deletions
diff --git a/go/game/map_test.go b/go/game/map_test.go
index c8933c69..96efc459 100644
--- a/go/game/map_test.go
+++ b/go/game/map_test.go
@@ -5,8 +5,33 @@ import (
"testing"
)
+func parseMapString(t *testing.T, mapDef string) *Map {
+ r := strings.NewReader(mapDef)
+ m, err := readMap(r)
+ if err != nil {
+ t.Fatalf("Parsing failed with: %v", err)
+ }
+ return m
+}
+
+func TestParseMapEndingStreets(t *testing.T) {
+ mapDef := `map: |1-
+ HST
+ HSF
+ TST
+
+symbols:
+ T: tower
+ H: house
+ F: farm
+ S: street
+`
+
+ parseMapString(t, mapDef)
+}
+
func TestParseMap(t *testing.T) {
- s := `map: |1+
+ s := `map: |1-
T H HT
FSSSSS2H
SHSH HS
@@ -29,18 +54,14 @@ kings:
- (1,9)
- (9,1)`
- r := strings.NewReader(s)
- m, err := readMap(r)
- if err != nil {
- t.Fatalf("Parsing failed with: %v", err)
- }
+ m := parseMapString(t, s)
if m.Tiles[0][0].Type != TileTypes.Tower {
t.Fatalf("Unexpected tile at 0,0: %v (expected %v)", m.Tiles[0][0], TileTypes.Tower)
}
for y := 0; y < len(m.Tiles); y++ {
- for x := 0; y < len(m.Tiles[y]); y++ {
+ for x := 0; x < len(m.Tiles[y]); x++ {
if m.TileAt(Position{x, y}) != &m.Tiles[y][x] {
t.Fatalf("TileAt and Tiles differ")
}