add test gatling win

This commit is contained in:
Alberto Xamin 2021-07-21 08:33:38 +03:00
parent ef99a55685
commit c0728f0225
No known key found for this signature in database
GPG Key ID: 4F026F48309500A2

View File

@ -112,4 +112,35 @@ def test_4p_outlaw_win():
if isinstance(g.players[i].role, Outlaw): if isinstance(g.players[i].role, Outlaw):
assert (hasattr(g.players[i], 'win_status') and g.players[i].win_status) assert (hasattr(g.players[i], 'win_status') and g.players[i].win_status)
else: else:
assert not (hasattr(g.players[i], 'win_status') and g.players[i].win_status)
# test that a game with 5 player the renegade kills all the other players and wins
def test_5p_renegade_gatling_win():
sio = DummySocket()
g = Game('test', sio)
for i in range(5):
p = Player(f'p{i}', f'p{i}', sio)
g.add_player(p)
g.start_game()
for p in g.players:
p.available_characters = [Character('test_char', 4)]
p.set_character(p.available_characters[0].name)
roles = {g.players[i].role.name:i for i in range(len(g.players))}
print(roles)
assert len(roles) == 4
assert isinstance(g.players[g.turn].role, Sheriff)
for i in range(len(g.players)):
g.players[i].lives = 1
g.players[i].hand = []
g.turn = roles['Rinnegato']
g.play_turn()
g.players[g.turn].draw('')
g.players[g.turn].hand = [Gatling(0,0)]
g.players[g.turn].play_card(0)
for i in range(len(g.players)):
if isinstance(g.players[i].role, Renegade):
print (g.players[i].role.name, 'win_status:', hasattr(g.players[i], 'win_status') and g.players[i].win_status)
assert (hasattr(g.players[i], 'win_status') and g.players[i].win_status)
else:
print(g.players[i].role.name, 'win_status:', (hasattr(g.players[i], 'win_status') and g.players[i].win_status))
assert not (hasattr(g.players[i], 'win_status') and g.players[i].win_status) assert not (hasattr(g.players[i], 'win_status') and g.players[i].win_status)