def test_pipelinesearcher_setup_search(): instance = PipelineSearcher() assert hasattr(instance, 'solutions') assert not hasattr(instance, '_stop') assert not hasattr(instance, 'done') assert not hasattr(instance, 'start_time') assert not hasattr(instance, 'timeout') assert not hasattr(instance, 'max_end_time') # without timeout instance.timeout = None instance.setup_search() assert instance.solutions == [] assert instance._stop is False assert instance.done is False assert hasattr(instance, 'start_time') assert instance.timeout is None assert instance.max_end_time is None # with timeout instance.timeout = 0.5 instance.setup_search() assert instance.timeout == 0.5 assert instance.max_end_time == instance.start_time + timedelta(seconds=0.5)
def test_pipelinesearcher_check_stop(datetime_mock): datetime_mock.now = MagicMock(return_value=10) # no stop instance = PipelineSearcher() instance._stop = False # normally, setted in `PipelineSearcher.setup_search` instance.timeout = None # normally, setted in `PipelineSearcher.setup_search` assert instance.check_stop() is None # stop by `_stop` attribute instance._stop = True with pytest.raises(KeyboardInterrupt): instance.check_stop() # stop by `max_end_time` instance._stop = False instance.timeout = 10 instance.max_end_time = 5 with pytest.raises(KeyboardInterrupt): instance.check_stop()