def test_play_round_move():
    simulator = Simulator()
    inital_game = simulator.initialize_game(
        Position(0, 0),
        1,
        [{"id": 0, "position_x": 8250, "position_y": 4500}],
        1,
        [{"id": 0, "position_x": 8250, "position_y": 8999}]
    )

    ash_target_position = Position(8250, 8999)
    updated_game, round_score = simulator.play_round(inital_game.ash, inital_game.humans, inital_game.zombies, ash_target_position)

    assert updated_game.zombies[0].position.is_equal(Position(8250, 8599))
    assert updated_game.ash.position.is_equal(Position(675, 737))
def test_play_round_kill_zombies():
    simulator = Simulator()
    inital_game = simulator.initialize_game(
        Position(0, 0),
        3,
        [{"id": 0, "position_x": 8250, "position_y": 4500},
         {"id": 1, "position_x": 8000, "position_y": 7000},
         {"id": 2, "position_x": 2500, "position_y": 1000}],
        2,
        [{"id": 0, "position_x": 100, "position_y": 100},
         {"id": 0, "position_x": 200, "position_y": 200}]
    )

    ash_target_position = Position(8250, 8999)
    updated_game, round_score = simulator.play_round(inital_game.ash, inital_game.humans, inital_game.zombies, ash_target_position)

    assert inital_game.zombies_count == 2
    assert updated_game.zombies_count == 0
    assert len(updated_game.zombies) == 0
    assert round_score == 270