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)
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)
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)