async def test_game_is_invalid_due_to_desyncs(game: Game, players): game.state = GameState.LOBBY add_connected_players(game, [players.hosting, players.joining]) game.host = players.hosting await game.launch() game.desyncs = 30 await game.on_game_end() assert game.validity is ValidityState.TOO_MANY_DESYNCS
async def test_game_is_invalid_due_to_desyncs(game: Game, players): await game.clear_data() game.state = GameState.LOBBY add_connected_players(game, [players.hosting, players.joining]) game.host = players.hosting await game.launch() game.desyncs = 30 await game.on_game_end() assert game.validity is ValidityState.TOO_MANY_DESYNCS
async def test_game_sim_ends_when_no_more_connections(game: Game, players): game.state = GameState.LOBBY host_conn = add_connected_player(game, players.hosting) join_conn = add_connected_player(game, players.joining) game.host = players.hosting await game.launch() await game.remove_game_connection(host_conn) await game.remove_game_connection(join_conn) assert game.ended
async def test_game_sim_ends_when_no_more_connections(game: Game, players): await game.clear_data() game.state = GameState.LOBBY host_conn = add_connected_player(game, players.hosting) join_conn = add_connected_player(game, players.joining) game.host = players.hosting await game.launch() await game.remove_game_connection(host_conn) await game.remove_game_connection(join_conn) assert game.ended
def add_connected_players(game: Game, players): """ Utility to add players with army and StartSpot indexed by a list """ for army, player in enumerate(players): add_connected_player(game, player) game.set_player_option(player.id, 'Army', army) game.set_player_option(player.id, 'StartSpot', army) game.set_player_option(player.id, 'Team', army) game.set_player_option(player.id, 'Faction', 0) game.set_player_option(player.id, 'Color', 0) game.host = players[0]
async def test_game_sim_ends_when_connections_ended_sim(game: Game, players): game.state = GameState.LOBBY host_conn = add_connected_player(game, players.hosting) join_conn = add_connected_player(game, players.joining) game.host = players.hosting await game.launch() host_conn.finished_sim = True join_conn.finished_sim = True await game.check_sim_end() assert game.ended
async def test_game_sim_ends_when_connections_ended_sim(game: Game, players): await game.clear_data() game.state = GameState.LOBBY host_conn = add_connected_player(game, players.hosting) join_conn = add_connected_player(game, players.joining) game.host = players.hosting await game.launch() host_conn.finished_sim = True join_conn.finished_sim = True await game.check_sim_end() assert game.ended
async def test_game_launch_freezes_players(game: Game, players): game.state = GameState.LOBBY host_conn = add_connected_player(game, players.hosting) game.host = players.hosting add_connected_player(game, players.joining) await game.launch() assert game.state is GameState.LIVE assert game.players == {players.hosting, players.joining} await game.remove_game_connection(host_conn) assert game.players == {players.hosting, players.joining}
async def test_game_launch_freezes_players(game: Game, players): await game.clear_data() game.state = GameState.LOBBY host_conn = add_connected_player(game, players.hosting) game.host = players.hosting add_connected_player(game, players.joining) await game.launch() assert game.state == GameState.LIVE assert game.players == {players.hosting, players.joining} await game.remove_game_connection(host_conn) assert game.players == {players.hosting, players.joining}