diff options
Diffstat (limited to 'go/game/map_test.go')
| -rw-r--r-- | go/game/map_test.go | 35 |
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") } |
