def setUp(self): self.game = gametools.new_game() gametools.add_player_named(self.game, "testlady") gametools.add_player_named(self.game, "testgirl") gametools.start_game(self.game) self.player, self.other_player = self.game["players"] self.player["rack"][0] = "1B" blank_board(self.game) self.game["tilebag"] = ["9F"] self.america = gametools.hotel_named(self.game, "america") self.america["tiles"] = ["1A", "2A"] self.hydra = gametools.hotel_named(self.game, "hydra") self.hydra["tiles"] = ["1C", "1D", "1E"]
def test_hotels(self): names = "sackson zeta america fusion hydra quantum phoenix".split() for name in names: hotel = gametools.hotel_named(self.game, name) self.assertTrue(hotel) self.assertEqual(len(hotel["tiles"]), 0) self.assertEqual(gametools.bank_shares(self.game, hotel), 25)
def test_where_is_tile(self): game = gametools.new_game() gametools.set_up_hotels(game) game["lonely_tiles"] = ["4C"] quantum = gametools.hotel_named(game, "quantum") quantum["tiles"] = ["8D", "9D"] self.assertEqual(gametools.where_is_tile(game, "1A"), None) self.assertEqual(gametools.where_is_tile(game, "4C"), "lonely") self.assertEqual(gametools.where_is_tile(game, "4D"), None) self.assertEqual(gametools.where_is_tile(game, "8D"), "quantum")
def test_grows_hotel(self): game = gametools.new_game() gametools.add_player_named(game, "champ") gametools.start_game(game) blank_board(game) hydra = gametools.hotel_named(game, "hydra") hydra["tiles"] = ["6A", "6B", "7B"] for tile in ["5A"]: self.assertTrue(gametools.grows_hotel(game, tile), tile) for tile in ["1C", "5C", "8E"]: self.assertFalse(gametools.grows_hotel(game, tile), tile)
def create_hotel_message(self, message): """Someone created a new hotel.""" player_name = message['player'] game = self.game_for_player(player_name) if not game: return try: player = gametools.player_named(game, player_name) hotel = gametools.hotel_named(game, message['hotel']) gametools.create_hotel(game, player, hotel) except gametools.GamePlayNotAllowedError, e: self.send_error(player_name, 'Cannot create hotel', e) return
def choose_survivor_message(self, message): """Someome chose which hotel will survive a merge.""" player_name = message['player'] game = self.game_for_player(player_name) if not game: return try: player = gametools.player_named(game, player_name) survivor = gametools.hotel_named(game, message['hotel']) stock_market_shares = gametools.choose_survivor(game, player, survivor) except gametools.GamePlayNotAllowedError, e: self.send_error(player_name, 'Cannot choose survivor', e) return
def test_tile_adjacent_to_lonely_tile_and_hotel(self): self.game["lonely_tiles"] = ["1A"] gametools.hotel_named(self.game, "sackson")["tiles"] = ["1C", "1D"] self.assertFalse("1B" in gametools.tiles_that_create_hotels(self.game))