示例#1
0
def test_queue_multiple_map_pools(queue_factory, rating, low1, high1, low2,
                                  high2):
    queue = queue_factory()
    map_pool1 = MapPool(0, "pool1")
    map_pool2 = MapPool(1, "pool2")
    queue.add_map_pool(map_pool1, low1, high1)
    queue.add_map_pool(map_pool2, low2, high2)

    if low1 <= rating <= high1:
        assert queue.get_map_pool_for_rating(rating) is map_pool1
    elif low2 <= rating <= high2:
        assert queue.get_map_pool_for_rating(rating) is map_pool2
    else:
        assert queue.get_map_pool_for_rating(rating) is None
示例#2
0
def test_queue_map_pools_bound(queue_factory, rating, low, high):
    queue = queue_factory()
    map_pool = MapPool(0, "pool")
    queue.add_map_pool(map_pool, low, high)

    if low <= rating <= high:
        assert queue.get_map_pool_for_rating(rating) is map_pool
    else:
        assert queue.get_map_pool_for_rating(rating) is None
示例#3
0
def test_queue_map_pools_upper_bound(queue_factory, rating, high):
    queue = queue_factory()
    map_pool = MapPool(0, "pool")
    queue.add_map_pool(map_pool, None, high)

    if rating > high:
        assert queue.get_map_pool_for_rating(rating) is None
    else:
        assert queue.get_map_pool_for_rating(rating) is map_pool
示例#4
0
def test_queue_map_pools_lower_bound(queue_factory, rating, low):
    queue = queue_factory()
    map_pool = MapPool(0, "pool")
    queue.add_map_pool(map_pool, low, None)

    if rating < low:
        assert queue.get_map_pool_for_rating(rating) is None
    else:
        assert queue.get_map_pool_for_rating(rating) is map_pool
示例#5
0
async def test_start_game_start_spots(ladder_service: LadderService,
                                      game_service: GameService, queue_factory,
                                      monkeypatch, team1, team2):
    queue = queue_factory("test_3v3",
                          mod="faf",
                          team_size=3,
                          rating_type=RatingType.GLOBAL)
    queue.add_map_pool(MapPool(1, "test",
                               [Map(1, "scmp_007", "maps/scmp_007.zip")]),
                       min_rating=None,
                       max_rating=None)

    monkeypatch.setattr(LadderGame, "wait_hosted", CoroutineMock())
    monkeypatch.setattr(LadderGame, "wait_launched", CoroutineMock())
    await ladder_service.start_game(team1, team2, queue)

    game = game_service[game_service.game_id_counter]

    def get_start_spot(player_id) -> int:
        return game.get_player_option(player_id, "StartSpot")

    assert get_start_spot(1) == get_start_spot(2) - 1
    assert get_start_spot(3) == get_start_spot(4) - 1
    assert get_start_spot(5) == get_start_spot(6) - 1
示例#6
0
 def make(map_pool_id=0, name="Test Pool", maps=()):
     return MapPool(map_pool_id=map_pool_id, name=name, maps=maps)
示例#7
0
def test_queue_map_pools_any_range(queue_factory, rating):
    queue = queue_factory()
    map_pool = MapPool(0, "pool")
    queue.add_map_pool(map_pool, None, None)

    assert queue.get_map_pool_for_rating(rating) is map_pool