From f848a5c87d3b46298fb2541b30d3fc87fc7d3f4a Mon Sep 17 00:00:00 2001 From: kryofly Date: Wed, 10 Jan 2018 12:00:00 +0100 Subject: [PATCH] tests optimize load_data --- freqtrade/optimize/__init__.py | 9 +++++++-- freqtrade/tests/optimize/test_optimize.py | 15 +++++++++++++++ 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/freqtrade/optimize/__init__.py b/freqtrade/optimize/__init__.py index 2d73c3215..d76334778 100644 --- a/freqtrade/optimize/__init__.py +++ b/freqtrade/optimize/__init__.py @@ -88,6 +88,12 @@ def download_pairs(datadir, pairs: List[str]) -> bool: return True +def file_dump_json(filename, data): + with open(filename, "wt") as fp: + json.dump(data, fp) + + +# FIX: 20180110, suggest rename interval to tick_interval def download_backtesting_testdata(datadir: str, pair: str, interval: int = 5) -> bool: """ Download the latest 1 and 5 ticker intervals from Bittrex for the pairs passed in parameters @@ -127,7 +133,6 @@ def download_backtesting_testdata(datadir: str, pair: str, interval: int = 5) -> logger.debug("New End: {}".format(data[-1:][0]['T'])) data = sorted(data, key=lambda data: data['T']) - with open(filename, "wt") as fp: - json.dump(data, fp) + file_dump_json(filename, data) return True diff --git a/freqtrade/tests/optimize/test_optimize.py b/freqtrade/tests/optimize/test_optimize.py index a5892f278..d74b9a224 100644 --- a/freqtrade/tests/optimize/test_optimize.py +++ b/freqtrade/tests/optimize/test_optimize.py @@ -2,6 +2,7 @@ import os import logging +# from unittest.mock import MagicMock from shutil import copyfile from freqtrade import exchange, optimize from freqtrade.exchange import Bittrex @@ -170,7 +171,21 @@ def test_download_backtesting_testdata(default_conf, ticker_history, mocker): _clean_test_file(file2) +def test_download_backtesting_testdata2(default_conf, mocker): + tick = [{'T': 'bar'}, {'T': 'foo'}] + mocker.patch('freqtrade.optimize.__init__.file_dump_json', return_value=None) + mocker.patch('freqtrade.optimize.__init__.get_ticker_history', return_value=tick) + assert download_backtesting_testdata(None, pair="BTC-UNITEST", interval=1) + assert download_backtesting_testdata(None, pair="BTC-UNITEST", interval=3) + + def test_load_tickerdata_file(): assert not load_tickerdata_file(None, 'BTC_UNITEST', 7) tickerdata = load_tickerdata_file(None, 'BTC_UNITEST', 1) assert _btc_unittest_length == len(tickerdata) + + +def test_init(mocker): + conf = {'exchange': {'pair_whitelist': []}} + mocker.patch('freqtrade.optimize.hyperopt_optimize_conf', return_value=conf) + assert {} == optimize.load_data('', pairs=[], refresh_pairs=True)