diff --git a/tests/data/test_history.py b/tests/data/test_history.py index 96bc0da56..2d292c7cd 100644 --- a/tests/data/test_history.py +++ b/tests/data/test_history.py @@ -364,37 +364,6 @@ def test_trim_tickerlist(testdatadir) -> None: ticker_list = json.load(data_file) ticker_list_len = len(ticker_list) - # Test the pattern ^(-\d+)$ - # This pattern uses the latest N elements - timerange = TimeRange(None, 'line', 0, -5) - ticker = trim_tickerlist(ticker_list, timerange) - ticker_len = len(ticker) - - assert ticker_len == 5 - assert ticker_list[0] is not ticker[0] # The first element should be different - assert ticker_list[-1] is ticker[-1] # The last element must be the same - - # Test the pattern ^(\d+)-$ - # This pattern keep X element from the end - timerange = TimeRange('line', None, 5, 0) - ticker = trim_tickerlist(ticker_list, timerange) - ticker_len = len(ticker) - - assert ticker_len == 5 - assert ticker_list[0] is ticker[0] # The first element must be the same - assert ticker_list[-1] is not ticker[-1] # The last element should be different - - # Test the pattern ^(\d+)-(\d+)$ - # This pattern extract a window - timerange = TimeRange('index', 'index', 5, 10) - ticker = trim_tickerlist(ticker_list, timerange) - ticker_len = len(ticker) - - assert ticker_len == 5 - assert ticker_list[0] is not ticker[0] # The first element should be different - assert ticker_list[5] is ticker[0] # The list starts at the index 5 - assert ticker_list[9] is ticker[-1] # The list ends at the index 9 (5 elements) - # Test the pattern ^(\d{8})-(\d{8})$ # This pattern extract a window between the dates timerange = TimeRange('date', 'date', ticker_list[5][0] / 1000, ticker_list[10][0] / 1000 - 1) @@ -434,13 +403,6 @@ def test_trim_tickerlist(testdatadir) -> None: assert ticker_list_len == ticker_len - # Test invalid timerange (start after stop) - timerange = TimeRange('index', 'index', 10, 5) - with pytest.raises(ValueError, match=r'The timerange .* is incorrect'): - trim_tickerlist(ticker_list, timerange) - - assert ticker_list_len == ticker_len - # passing empty list timerange = TimeRange(None, None, None, 5) ticker = trim_tickerlist([], timerange) diff --git a/tests/optimize/test_backtesting.py b/tests/optimize/test_backtesting.py index 2b6f63516..998edda8a 100644 --- a/tests/optimize/test_backtesting.py +++ b/tests/optimize/test_backtesting.py @@ -49,7 +49,7 @@ def trim_dictlist(dict_list, num): def load_data_test(what, testdatadir): - timerange = TimeRange(None, 'line', 0, -101) + timerange = TimeRange.parse_timerange('1510694220-1510700340') pair = history.load_tickerdata_file(testdatadir, ticker_interval='1m', pair='UNITTEST/BTC', timerange=timerange) datalen = len(pair) @@ -342,7 +342,8 @@ def test_tickerdata_with_fee(default_conf, mocker, testdatadir) -> None: def test_tickerdata_to_dataframe_bt(default_conf, mocker, testdatadir) -> None: patch_exchange(mocker) - timerange = TimeRange(None, 'line', 0, -100) + # timerange = TimeRange(None, 'line', 0, -100) + timerange = TimeRange.parse_timerange('1510694220-1510700340') tick = history.load_tickerdata_file(testdatadir, 'UNITTEST/BTC', '1m', timerange=timerange) tickerlist = {'UNITTEST/BTC': parse_ticker_dataframe(tick, '1m', pair="UNITTEST/BTC", fill_missing=True)} @@ -474,7 +475,7 @@ def test_backtesting_start(default_conf, mocker, testdatadir, caplog) -> None: default_conf['ticker_interval'] = '1m' default_conf['datadir'] = testdatadir default_conf['export'] = None - default_conf['timerange'] = '-100' + default_conf['timerange'] = '-1510694220' backtesting = Backtesting(default_conf) backtesting.start() @@ -522,7 +523,7 @@ def test_backtest(default_conf, fee, mocker, testdatadir) -> None: patch_exchange(mocker) backtesting = Backtesting(default_conf) pair = 'UNITTEST/BTC' - timerange = TimeRange(None, 'line', 0, -201) + timerange = TimeRange('date', None, 1517227800, 0) data = history.load_data(datadir=testdatadir, ticker_interval='5m', pairs=['UNITTEST/BTC'], timerange=timerange) data_processed = backtesting.strategy.tickerdata_to_dataframe(data) @@ -578,7 +579,7 @@ def test_backtest_1min_ticker_interval(default_conf, fee, mocker, testdatadir) - backtesting = Backtesting(default_conf) # Run a backtesting for an exiting 1min ticker_interval - timerange = TimeRange(None, 'line', 0, -200) + timerange = TimeRange.parse_timerange('1510688220-1510700340') data = history.load_data(datadir=testdatadir, ticker_interval='1m', pairs=['UNITTEST/BTC'], timerange=timerange) processed = backtesting.strategy.tickerdata_to_dataframe(data) @@ -823,7 +824,7 @@ def test_backtest_start_timerange(default_conf, mocker, caplog, testdatadir): '--datadir', str(testdatadir), 'backtesting', '--ticker-interval', '1m', - '--timerange', '-100', + '--timerange', '1510694220-1510700340', '--enable-position-stacking', '--disable-max-market-positions' ] @@ -833,7 +834,7 @@ def test_backtest_start_timerange(default_conf, mocker, caplog, testdatadir): exists = [ 'Parameter -i/--ticker-interval detected ... Using ticker_interval: 1m ...', 'Ignoring max_open_trades (--disable-max-market-positions was used) ...', - 'Parameter --timerange detected: -100 ...', + 'Parameter --timerange detected: 1510694220-1510700340 ...', f'Using data directory: {testdatadir} ...', 'Using stake_currency: BTC ...', 'Using stake_amount: 0.001 ...', @@ -869,7 +870,7 @@ def test_backtest_start_multi_strat(default_conf, mocker, caplog, testdatadir): '--datadir', str(testdatadir), 'backtesting', '--ticker-interval', '1m', - '--timerange', '-100', + '--timerange', '1510694220-1510700340', '--enable-position-stacking', '--disable-max-market-positions', '--strategy-list', @@ -887,7 +888,7 @@ def test_backtest_start_multi_strat(default_conf, mocker, caplog, testdatadir): exists = [ 'Parameter -i/--ticker-interval detected ... Using ticker_interval: 1m ...', 'Ignoring max_open_trades (--disable-max-market-positions was used) ...', - 'Parameter --timerange detected: -100 ...', + 'Parameter --timerange detected: 1510694220-1510700340 ...', f'Using data directory: {testdatadir} ...', 'Using stake_currency: BTC ...', 'Using stake_amount: 0.001 ...', diff --git a/tests/strategy/test_interface.py b/tests/strategy/test_interface.py index 094cd41a1..5519b1a34 100644 --- a/tests/strategy/test_interface.py +++ b/tests/strategy/test_interface.py @@ -106,7 +106,7 @@ def test_get_signal_handles_exceptions(mocker, default_conf): def test_tickerdata_to_dataframe(default_conf, testdatadir) -> None: strategy = DefaultStrategy(default_conf) - timerange = TimeRange(None, 'line', 0, -100) + timerange = TimeRange.parse_timerange('1510694220-1510700340') tick = load_tickerdata_file(testdatadir, 'UNITTEST/BTC', '1m', timerange=timerange) tickerlist = {'UNITTEST/BTC': parse_ticker_dataframe(tick, '1m', pair="UNITTEST/BTC", fill_missing=True)} diff --git a/tests/test_timerange.py b/tests/test_timerange.py index 6599472fb..2f4b00e70 100644 --- a/tests/test_timerange.py +++ b/tests/test_timerange.py @@ -5,9 +5,6 @@ from freqtrade.configuration import TimeRange def test_parse_timerange_incorrect() -> None: - assert TimeRange(None, 'line', 0, -200) == TimeRange.parse_timerange('-200') - assert TimeRange('line', None, 200, 0) == TimeRange.parse_timerange('200-') - assert TimeRange('index', 'index', 200, 500) == TimeRange.parse_timerange('200-500') assert TimeRange('date', None, 1274486400, 0) == TimeRange.parse_timerange('20100522-') assert TimeRange(None, 'date', 0, 1274486400) == TimeRange.parse_timerange('-20100522') @@ -20,9 +17,8 @@ def test_parse_timerange_incorrect() -> None: timerange = TimeRange.parse_timerange('1231006505-1233360000') assert TimeRange('date', 'date', 1231006505, 1233360000) == timerange - # TODO: Find solution for the following case (passing timestamp in ms) timerange = TimeRange.parse_timerange('1231006505000-1233360000000') - assert TimeRange('date', 'date', 1231006505, 1233360000) != timerange + assert TimeRange('date', 'date', 1231006505, 1233360000) == timerange with pytest.raises(Exception, match=r'Incorrect syntax.*'): TimeRange.parse_timerange('-')