def test_buy_stock(self): board = Board._board_in_play([(S, ['5G', '6G']), (F, ['1A', '2A'])]) players = [GameStatePlayer._test_gsplayer("foo", 200, dict([('American', 3), ('Festival', 5)]), set())] player = OrderedPlayer('foo') buys = player._buy_stock(GameState._game_state_in_progress(players, board)) self.assertEquals(buys, ['American'])
def test_keeps(self): board = Board._board_in_play([(S, ['5G', '6G']), (F, ['1A', '2A'])]) players = [GameStatePlayer._test_gsplayer("foo", 200, dict([('American', 3), ('Festival', 5)]), set())] player = RandomPlayer('foo') keeps = player.keep(GameState._game_state_in_progress(players, board), [A]) self.assertEquals(len(keeps), 1) keeps = player.keep(GameState._game_state_in_progress(players, board), [A, F]) self.assertEquals(len(keeps), 2)
def test_buy_stock(self): board = Board._board_in_play([(S, ['5G', '6G'])]) players = [GameStatePlayer._test_gsplayer("foo", 6000, dict([('Sackson', 3)]), set(['2B']))] player = RandomPlayer('foo') buys = player._buy_stock(GameState._game_state_in_progress(players, board)) self.assertTrue(len(buys)<=2) if len(buys)!=0: self.assertTrue(buys[0]!='Worldwide')
def test_tile_placement(self): board_singleton = Board._board_in_play(dict([])) players_singleton = [GameStatePlayer._test_gsplayer("foo", 6000, dict([]), set(['2B', '1A', '3D']))] player = OrderedPlayer('foo') tile, hotel, movetype = player._place_tile(GameState._game_state_in_progress(players_singleton, board_singleton)) self.assertEquals(tile, '1A') self.assertEquals(hotel, None) self.assertEquals(movetype, SINGLETON) test_board = [(C, ['3E', '4E']), (I, ['5G', '3G', '4G'])] board_merge = Board._board_in_play(test_board) players_merge = [GameStatePlayer._test_gsplayer("foo", 6000, dict([]), set(['3F', '6G', '3H']))] tile, hotel, movetype = player._place_tile(GameState._game_state_in_progress(players_merge, board_merge)) self.assertEquals(tile, '3F') self.assertEquals(hotel, "Imperial") self.assertEquals(movetype, MERGE)
def test_get_sellbacks_merge(self): player1 = GameStatePlayer._test_gsplayer("joe", 6000, {A:5}, [t5A]) player2 = GameStatePlayer._test_gsplayer("obama", 6000, {S:4}, []) player3 = GameStatePlayer._test_gsplayer("kerry", 6000, {W:4}, []) player4 = GameStatePlayer._test_gsplayer("romney", 6000, {W:4}, []) player5 = GameStatePlayer._test_gsplayer("ryan", 6000, {W:4}, []) player6 = GameStatePlayer._test_gsplayer("mumblesmenino", 6000, {W:4}, []) board = Board._board_in_play([(A, [t4A, t3A]), (S, [t6A, t7A]), (W, [t5B, t5C])]) gt = GameTree(GameState._game_state_in_progress([player1, player2, player3, player4, player5, player6], board)) self.assertEqual(len(list(gt.get_sellbacks(t5A, A))), (2**2)**6)
def test_get_sellbacks_no_merge(self): gt = GameTree(GameState._game_state_in_progress([GameStatePlayer._test_gsplayer("joe", 6000, {A:5}, [t5A])], Board())) self.assertEqual(gt.get_sellbacks(t5A, None), [{}])