squirrel-battle/squirrelbattle/tests/interfaces_test.py

40 lines
1.3 KiB
Python
Raw Normal View History

2020-11-27 15:33:17 +00:00
# Copyright (C) 2020 by ÿnérant, eichhornchen, nicomarg, charlse
# SPDX-License-Identifier: GPL-3.0-or-later
import unittest
2020-11-19 01:18:08 +00:00
from squirrelbattle.display.texturepack import TexturePack
from squirrelbattle.interfaces import Map, Tile
2020-11-19 01:49:59 +00:00
from squirrelbattle.resources import ResourceManager
class TestInterfaces(unittest.TestCase):
2020-10-09 16:24:13 +00:00
def test_map(self) -> None:
2020-10-16 16:05:49 +00:00
"""
Create a map and check that it is well parsed.
"""
2020-11-11 15:09:03 +00:00
m = Map.load_from_string("0 0\n.#\n#.\n")
self.assertEqual(m.width, 2)
self.assertEqual(m.height, 2)
self.assertEqual(m.draw_string(TexturePack.ASCII_PACK), ".#\n#.")
2020-11-06 15:13:28 +00:00
def test_load_map(self) -> None:
"""
Try to load a map from a file.
"""
2020-11-19 01:49:59 +00:00
m = Map.load(ResourceManager.get_asset_path("example_map.txt"))
self.assertEqual(m.width, 52)
2020-11-06 15:13:28 +00:00
self.assertEqual(m.height, 17)
def test_tiles(self) -> None:
"""
Test some things about tiles.
"""
self.assertFalse(Tile.FLOOR.is_wall())
self.assertTrue(Tile.WALL.is_wall())
self.assertFalse(Tile.EMPTY.is_wall())
self.assertTrue(Tile.FLOOR.can_walk())
self.assertFalse(Tile.WALL.can_walk())
self.assertFalse(Tile.EMPTY.can_walk())
2020-11-06 20:23:17 +00:00
self.assertRaises(ValueError, Tile.from_ascii_char, 'unknown')