Ejemplo n.º 1
0
def test_compare_generated_with_data(mock_permalink_as_str: PropertyMock,
                                     layout_description: LayoutDescription,
                                     echoes_pickup_database: PickupDatabase):
    debug._DEBUG_LEVEL = 0
    status_update = MagicMock()
    mock_permalink_as_str.return_value = "fixed-seed!"

    generated_description = generator.generate_list(
        layout_description.permalink, status_update=status_update, timeout=None)

    indices: List[int] = [None] * echoes_pickup_database.total_pickup_count
    for index, pickup in generated_description.patches.pickup_assignment.items():
        indices[index.index] = echoes_pickup_database.original_index(pickup).index
    print(indices)

    assert generated_description.without_solver_path == layout_description
Ejemplo n.º 2
0
def test_calculate_indices_no_item(mock_read_databases: MagicMock,
                                   echoes_pickup_database: PickupDatabase,
                                   empty_patches
                                   ):
    # Setup
    description = LayoutDescription(
        version=randovania.VERSION,
        permalink=Permalink.default(),
        patches=empty_patches,
        solver_path=()
    )
    mock_read_databases.return_value = (None, echoes_pickup_database)

    # Run
    result = claris_randomizer._calculate_indices(description)

    # Assert
    mock_read_databases.assert_called_once_with(description.permalink.layout_configuration.game_data)
    useless_pickup = echoes_pickup_database.pickup_by_name(claris_randomizer._USELESS_PICKUP_NAME)
    useless_index = echoes_pickup_database.original_index(useless_pickup)
    assert result == [useless_index.index] * echoes_pickup_database.total_pickup_count
Ejemplo n.º 3
0
def test_calculate_indices_original(mock_read_databases: MagicMock,
                                    echoes_pickup_database: PickupDatabase,
                                    empty_patches
                                    ):
    # Setup
    description = LayoutDescription(
        version=randovania.VERSION,
        permalink=Permalink.default(),
        patches=empty_patches.assign_new_pickups(echoes_pickup_database.original_pickup_mapping.items()),
        solver_path=()
    )
    mock_read_databases.return_value = (None, echoes_pickup_database)

    # Run
    result = claris_randomizer._calculate_indices(description)

    # Assert
    mock_read_databases.assert_called_once_with(description.permalink.layout_configuration.game_data)
    assert result == [
        echoes_pickup_database.original_index(pickup).index
        for pickup in echoes_pickup_database.original_pickup_mapping.values()
    ]