Beispiel #1
0
	def test_move_raises_an_exception_if_the_move_would_take_the_unit_into_non_traversable_terrain(self):  # noqa
		tmap = TileMap(TileGrid(Size(10, 10)))
		u = DummyUnit()
		tmap.place_unit(u, Point(5, 5))
		tmap.get_tile(Point(15, 5)).set_terrain(Water)
		with self.assertRaises(UnitException) as error_context:
			u.move(Vector(10, 0))
		self.assertIn("unit cannot traverse", error_context.exception.message)
	def test_get_tile_raises_an_exception_when_the_requested_position_is_out_of_bounds(self):  # noqa
		tmap = TileMap(TileGrid(Size(2, 2)))
		with self.assertRaises(TileMapException) as error_context:
			tmap.get_tile(Point(-1, 0))
		self.assertIn("out of bounds", error_context.exception.message)
	def test_get_tile_returns_a_tile_at_a_given_position(self):
		grid = TileGrid(Size(2, 2))
		grid.get_tile(Point(1, 1)).tile_id = 'target'
		tmap = TileMap(grid, tile_sz=Size(10, 10))
		tile = tmap.get_tile(Point(15, 15))
		self.assertEqual(tile.tile_id, 'target')