From fe2b0c28621c53ded0ebe85ae1c4eb59c2661236 Mon Sep 17 00:00:00 2001 From: Samuel Husso Date: Tue, 9 Jan 2018 12:19:44 +0200 Subject: [PATCH] add unittest to save and read trials file --- freqtrade/tests/optimize/test_hyperopt.py | 32 +++++++++++++++++++---- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/freqtrade/tests/optimize/test_hyperopt.py b/freqtrade/tests/optimize/test_hyperopt.py index 99a1f4a3c..3e03d26c0 100644 --- a/freqtrade/tests/optimize/test_hyperopt.py +++ b/freqtrade/tests/optimize/test_hyperopt.py @@ -1,10 +1,6 @@ # pragma pylint: disable=missing-docstring,W0212,C0103 -import pickle -import os -import pytest -import freqtrade.optimize.hyperopt from freqtrade.optimize.hyperopt import calculate_loss, TARGET_TRADES, EXPECTED_MAX_PROFIT, start, \ - log_results + log_results, save_trials, read_trials def test_loss_calculation_prefer_correct_trade_count(): @@ -44,6 +40,8 @@ def create_trials(mocker): return_value=None) mocker.patch('freqtrade.optimize.hyperopt.read_trials', return_value=None) + mocker.patch('freqtrade.optimize.hyperopt.os.remove', + return_value=True) return mocker.Mock( results=[{ 'loss': 1, @@ -199,3 +197,27 @@ def test_resuming_previous_hyperopt_results_succeeds(mocker): assert current_tries == len(trials.results) assert total_tries == (current_tries + len(trials.results)) + +def test_save_trials_saves_trials(mocker): + trials = create_trials(mocker) + mock_dump = mocker.patch('freqtrade.optimize.hyperopt.pickle.dump', + return_value=None) + trials_path = mocker.patch('freqtrade.optimize.hyperopt.TRIALS_FILE', + return_value='ut_trials.pickle') + mocker.patch('freqtrade.optimize.hyperopt.open', + return_value=trials_path) + save_trials(trials, trials_path) + + mock_dump.assert_called_once_with(trials, trials_path) + + +def test_read_trials_returns_trials_file(mocker): + trials = create_trials(mocker) + mock_load = mocker.patch('freqtrade.optimize.hyperopt.pickle.load', + return_value=trials) + mock_open = mocker.patch('freqtrade.optimize.hyperopt.open', + return_value=mock_load) + + assert read_trials() == trials + mock_open.assert_called_once() + mock_load.assert_called_once()