示例#1
0
def test_generate_layout(mocker):
    # Setup
    options: Options = MagicMock()
    parameters: GeneratorParameters = MagicMock()
    progress_update = MagicMock()

    mock_generate_layout = mocker.patch(
        "randovania.interface_common.echoes.generate_description",
        autospec=True)
    mock_constant_percentage_callback = mocker.patch(
        "randovania.interface_common.simplified_patcher.ConstantPercentageCallback",
        autospec=False,  # TODO: pytest-qt bug
    )

    # Run
    simplified_patcher.generate_layout(options, parameters, progress_update)

    # Assert
    mock_constant_percentage_callback.assert_called_once_with(
        progress_update, -1)
    mock_generate_layout.assert_called_once_with(
        parameters=parameters,
        status_update=mock_constant_percentage_callback.return_value,
        validate_after_generation=options.advanced_validate_seed_after,
        timeout_during_generation=options.advanced_timeout_during_generation,
        attempts=None,
    )
def test_generate_layout(
    mock_generate_layout: MagicMock,
    mock_constant_percentage_callback: MagicMock,
):
    # Setup
    options: Options = MagicMock()
    progress_update = MagicMock()

    # Run
    simplified_patcher.generate_layout(options, progress_update)

    # Assert
    mock_constant_percentage_callback.assert_called_once_with(
        progress_update, -1)
    mock_generate_layout.assert_called_once_with(
        permalink=options.permalink,
        status_update=mock_constant_percentage_callback.return_value)
示例#3
0
 def work(progress_update: ProgressUpdateCallable):
     from randovania.interface_common import simplified_patcher
     layout = simplified_patcher.generate_layout(
         progress_update=progress_update,
         permalink=permalink,
         options=self._options)
     progress_update(f"Success! (Seed hash: {layout.shareable_hash})",
                     1)
     return layout
def test_generate_layout(
    mock_generate_layout: MagicMock,
    mock_constant_percentage_callback: MagicMock,
):
    # Setup
    options: Options = MagicMock()
    permalink: Permalink = MagicMock()
    progress_update = MagicMock()

    # Run
    simplified_patcher.generate_layout(options, permalink, progress_update)

    # Assert
    mock_constant_percentage_callback.assert_called_once_with(
        progress_update, -1)
    mock_generate_layout.assert_called_once_with(
        permalink=permalink,
        status_update=mock_constant_percentage_callback.return_value,
        validate_after_generation=options.advanced_validate_seed_after,
        timeout_during_generation=options.advanced_timeout_during_generation,
    )
        def work(progress_update: ProgressUpdateCallable):
            try:
                layout = simplified_patcher.generate_layout(progress_update=progress_update,
                                                            permalink=permalink,
                                                            options=self._options)
                progress_update(f"Success! (Seed hash: {layout.shareable_hash})", 1)
                persist_layout(self._options.data_dir, layout)
                self._window_manager.open_game_details(layout)

            except GenerationFailure as generate_exception:
                self.failed_to_generate_signal.emit(generate_exception)
                progress_update("Generation Failure: {}".format(generate_exception), -1)
        def work(progress_update: ProgressUpdateCallable):
            try:
                layout = simplified_patcher.generate_layout(progress_update=progress_update,
                                                            parameters=permalink.parameters,
                                                            options=self._options,
                                                            retries=retries)
                progress_update(f"Success! (Seed hash: {layout.shareable_hash})", 1)
                persist_layout(self._options.game_history_path, layout)
                self._window_manager.open_game_details(layout)

            except GenerationFailure as generate_exception:
                self.failure_handler.handle_failure(generate_exception)
                progress_update("Generation Failure: {}".format(generate_exception), -1)
示例#7
0
        def work(progress_update: ProgressUpdateCallable):
            try:
                layout = simplified_patcher.generate_layout(
                    progress_update=progress_update,
                    permalink=permalink,
                    options=self._options)
                progress_update(
                    f"Success! (Seed hash: {layout.shareable_hash})", 1)
                self.window.show_seed_tab(layout)

            except GenerationFailure as generate_exception:
                self.failed_to_generate_signal.emit(generate_exception)
                progress_update(
                    "Generation Failure: {}".format(generate_exception), -1)