def addplayer(): if request.method == 'GET': last, number = [], [] players = Players() last, number, player_id = players.get_players(current_user.id) return render_template('addplayer.html', last=last, player_id=player_id, number=number, username=str(current_user.username)) if request.method == 'POST' and request.form.get('edit') == 'false': last = str(request.form.get('last')) number = str(request.form.get('number')) players = Players() players.add_player(last, number, current_user.id) first, last, number = [], [], [] last, number, player_id = players.get_players(current_user.id) return render_template('addplayer.html', last=last, player_id=player_id, number=number, username=str(current_user.username)) if request.method == 'POST' and request.form.get('edit') == 'true': name = str(request.form.get('name')) number = str(request.form.get('number')) player_id = str(request.form.get('id')) players = Players() players.edit_player(name, number, current_user.id, player_id) first, last, number = [], [], [] last, number, player_id = players.get_players(current_user.id) return render_template('addplayer.html', last=last, player_id=player_id, number=number, username=str(current_user.username)) if request.method == 'POST' and request.form.get('delete') == 'true': player_id = str(request.form.get('id')) players = Players() players.delete_player(player_id) first, last, number = [], [], [] last, number, player_id = players.get_players(current_user.id) return render_template('addplayer.html', last=last, player_id=player_id, number=number, username=str(current_user.username))
class TestGame(unittest.TestCase): def setUp(self): self.players = Players() self.players.add_player(models.Player('Erik')) self.players.add_player(models.Player('Erty')) self.players.add_player(models.Player('Alex')) self.game = game.Game(self.players) self.players.start_game() def test_deployment_phase(self): country_A = self.game.board.countries["alaska"] country_A.owner = self.players.current_player def side_effect(country, troops): country.add_troops(country.owner, troops) with patch.object(models.Player, "get_troop_deployment") as mock_method: mock_method.side_effect = side_effect(country_A, 5) self.game.deployment_phase() self.assertEqual(country_A.troops, 5) self.assertEqual(country_A.owner.troops_to_deploy, 3) def test_attacking_phase(self): country_A = self.game.board.countries["northwest territory"] country_B = self.game.board.countries["alaska"] country_A.owner = self.players.current_player country_B.owner = models.Player("bob") country_A.troops = 10 country_B.troops = 5 with patch.object(random, 'randint') as mock_random: mock_random.side_effect = [6, 6, 1, 1, 1] self.game.attack(country_A, country_B, 3, 3) self.assertEqual(country_A.troops, 8) self.assertEqual(country_B.troops, 5) def test_reinforce(self): country_A = self.game.board.countries["northwest territory"] country_B = self.game.board.countries["alaska"] country_A.owner = self.players.current_player country_A.troops = 10 country_B.troops = 5 country_B.owner = self.players.current_player self.game.reinforce(country_A, country_B, 2) self.assertEqual(country_A.troops, 8) self.assertEqual(country_B.troops, 7) def test_check_winner(self): pass def test_elimination(self): alex = self.players[2] erty = self.players[1] self.game.eliminate_player(alex, erty) self.assertEqual(erty.is_eliminated, True) def test_trade_cards_for_troops(self): cards = [ models.Card("country_A", "whiskey"), models.Card("country_B", "gin"), models.Card("country_C", "tequila") ] self.players.current_player.cards = set(cards) trade_1_troops = self.game.get_troops_for_card_set(cards) self.assertEqual(trade_1_troops, 4) self.players.current_player.cards = set(cards) trade_2_troops = self.game.get_troops_for_card_set(cards) self.assertEqual(trade_2_troops, 6) cards2 = [ models.Card("cowLand", "cow"), models.Card("mexico", "horse"), models.Card("canada", "horse") ] self.players.current_player.cards = set(cards2) with self.assertRaises(AssertionError): trade_3_troops = self.game.get_troops_for_card_set(cards2) def test_init_deploy(self): pass def test_play_game(self): pass def test_start(self): pass
class TestGame(unittest.TestCase): def setUp(self): self.players = Players() self.players.add_player(models.Player('Erik')) self.players.add_player(models.Player('Erty')) self.players.add_player(models.Player('Alex')) self.game = game.Game(self.players) self.players.start_game() def test_deployment_phase(self): country_A = self.game.board.countries["alaska"] country_A.owner = self.players.current_player def side_effect(country, troops): country.add_troops(country.owner, troops) with patch.object(models.Player, "get_troop_deployment") as mock_method: mock_method.side_effect = side_effect(country_A, 5) self.game.deployment_phase() self.assertEqual(country_A.troops, 5) self.assertEqual(country_A.owner.troops_to_deploy, 3) def test_attacking_phase(self): country_A = self.game.board.countries["northwest territory"] country_B = self.game.board.countries["alaska"] country_A.owner = self.players.current_player country_B.owner = models.Player("bob") country_A.troops = 10 country_B.troops = 5 with patch.object(random, 'randint') as mock_random: mock_random.side_effect = [6,6,1,1,1] self.game.attack(country_A, country_B, 3, 3) self.assertEqual(country_A.troops, 8) self.assertEqual(country_B.troops, 5) def test_reinforce(self): country_A = self.game.board.countries["northwest territory"] country_B = self.game.board.countries["alaska"] country_A.owner = self.players.current_player country_A.troops = 10 country_B.troops = 5 country_B.owner = self.players.current_player self.game.reinforce(country_A, country_B, 2) self.assertEqual(country_A.troops, 8) self.assertEqual(country_B.troops, 7) def test_check_winner(self): pass def test_elimination(self): alex = self.players[2] erty = self.players[1] self.game.eliminate_player(alex, erty) self.assertEqual(erty.is_eliminated, True) def test_trade_cards_for_troops(self): cards = [models.Card("country_A", "whiskey"), models.Card("country_B", "gin"), models.Card("country_C", "tequila")] self.players.current_player.cards = set(cards) trade_1_troops = self.game.get_troops_for_card_set(cards) self.assertEqual(trade_1_troops, 4) self.players.current_player.cards = set(cards) trade_2_troops = self.game.get_troops_for_card_set(cards) self.assertEqual(trade_2_troops, 6) cards2 = [models.Card("cowLand", "cow"), models.Card("mexico", "horse"), models.Card("canada", "horse")] self.players.current_player.cards = set(cards2) with self.assertRaises(AssertionError): trade_3_troops = self.game.get_troops_for_card_set(cards2) def test_init_deploy(self): pass def test_play_game(self): pass def test_start(self): pass