10 def __init__(self
, width
, height
):
16 """Abstract base class for various tiles.
19 if self
.__class
__ is Tile
:
20 raise NotImplementedError
45 self
.watchtower
= None
54 # ----------------------------------- TESTS ---------------------------------- #
58 class ModuleTest(unittest
.TestCase
):
59 """Main test case for this module.
64 class MapTest(unittest
.TestCase
):
66 """Test correct instantiation of maps."""
68 self
.failUnlessEqual(8, map.width
)
69 self
.failUnlessEqual(8, map.height
)
71 def test_indexing(self
):
72 """Test indexing of map objects."""
75 def test_slicing_fails(self
):
76 """Ensure that slicing fails."""
80 class TileTest(unittest
.TestCase
):
81 def test_abstract(self
):
82 """Ensure that tile class is abstract."""
83 self
.failUnlessRaises(NotImplementedError, Tile
)
86 class RiverTest(unittest
.TestCase
):
88 """Test correct instantiation of rivers."""
90 self
.failUnlessEqual(river
.fogofwar
, True)
91 self
.failUnlessEqual(river
.bridge
, None)
92 self
.failUnlessEqual(river
.units
, [])
95 class SeaTest(unittest
.TestCase
):
97 """Test correct instantiation of sea tiles."""
99 self
.failUnlessEqual(sea
.fogofwar
, True)
100 self
.failUnlessEqual(sea
.units
, [])
103 class PlainTest(unittest
.TestCase
):
105 """Test correct instantiation of plains."""
107 self
.failUnlessEqual(plain
.fogofwar
, True)
108 self
.failUnlessEqual(plain
.units
, [])
109 self
.failUnlessEqual(plain
.city
, None)
112 class MountainTest(unittest
.TestCase
):
114 """Test correct instantiation of mountains."""
115 mountain
= Mountain()
116 self
.failUnlessEqual(mountain
.fogofwar
, True)
117 self
.failUnlessEqual(mountain
.mine
, None)
118 self
.failUnlessEqual(mountain
.units
, [])
121 class ForestTest(unittest
.TestCase
):
123 """Test correct instantiation of forest tiles."""
125 self
.failUnlessEqual(forest
.fogofwar
, True)
126 self
.failUnlessEqual(forest
.watchtower
, None)
127 self
.failUnlessEqual(forest
.units
, [])
133 if __name__
== '__main__':