diff --git a/freqtrade/tests/test_optimize_backtesting.py b/freqtrade/tests/test_optimize_backtesting.py index 558cfd8d1..99f95d9bf 100644 --- a/freqtrade/tests/test_optimize_backtesting.py +++ b/freqtrade/tests/test_optimize_backtesting.py @@ -1,12 +1,36 @@ # pragma pylint: disable=missing-docstring,W0212 import os +import pandas as pd from freqtrade import exchange, optimize from freqtrade.exchange import Bittrex -from freqtrade.optimize.backtesting import backtest +from freqtrade.optimize.backtesting import backtest, generate_text_table, get_timeframe from freqtrade.optimize.__init__ import testdata_path, download_pairs, download_backtesting_testdata +def test_generate_text_table(): + results = pd.DataFrame( + { + 'currency': ['BTC_ETH', 'BTC_ETH'], + 'profit_percent': [0.1, 0.2], + 'profit_BTC': [0.2, 0.4], + 'duration': [10, 30] + } + ) + assert generate_text_table({'BTC_ETH': {}}, results, 'BTC', 5) == ( + 'pair buy count avg profit total profit avg duration\n' + '------- ----------- ------------ -------------- --------------\n' + 'BTC_ETH 2 15.00% 0.60000000 BTC 100\n' + 'TOTAL 2 15.00% 0.60000000 BTC 100') + + +def test_get_timeframe(): + data = optimize.load_data(ticker_interval=1, pairs=['BTC_UNITEST']) + min_date, max_date = get_timeframe(data) + assert min_date.isoformat() == '2017-11-04T23:02:00+00:00' + assert max_date.isoformat() == '2017-11-14T22:59:00+00:00' + + def test_backtest(default_conf, mocker): mocker.patch.dict('freqtrade.main._CONF', default_conf) exchange._API = Bittrex({'key': '', 'secret': ''})