From 730ae781a9b8a256a9db518d314d1092ec5e77e2 Mon Sep 17 00:00:00 2001 From: Matthias Date: Mon, 31 Jul 2023 19:46:18 +0200 Subject: [PATCH] Add explicit test for get_backtest_metadata --- tests/optimize/test_backtesting.py | 40 +++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/tests/optimize/test_backtesting.py b/tests/optimize/test_backtesting.py index cc1d9e95b..6f6ce1127 100644 --- a/tests/optimize/test_backtesting.py +++ b/tests/optimize/test_backtesting.py @@ -21,7 +21,7 @@ from freqtrade.data.history import get_timerange from freqtrade.enums import CandleType, ExitType, RunMode from freqtrade.exceptions import DependencyException, OperationalException from freqtrade.exchange.exchange import timeframe_to_next_date -from freqtrade.optimize.backtest_caching import get_strategy_run_id +from freqtrade.optimize.backtest_caching import get_backtest_metadata_filename, get_strategy_run_id from freqtrade.optimize.backtesting import Backtesting from freqtrade.persistence import LocalTrade, Trade from freqtrade.resolvers import StrategyResolver @@ -1998,3 +1998,41 @@ def test_get_strategy_run_id(default_conf_usdt): strategy = StrategyResolver.load_strategy(default_conf_usdt) x = get_strategy_run_id(strategy) assert isinstance(x, str) + + +def test_get_backtest_metadata_filename(): + # Test with a file path + filename = Path('backtest_results.json') + expected = Path('backtest_results.meta.json') + assert get_backtest_metadata_filename(filename) == expected + + # Test with a file path with multiple dots in the name + filename = Path('/path/to/backtest.results.json') + expected = Path('/path/to/backtest.results.meta.json') + assert get_backtest_metadata_filename(filename) == expected + + # Test with a file path with no parent directory + filename = Path('backtest_results.json') + expected = Path('backtest_results.meta.json') + assert get_backtest_metadata_filename(filename) == expected + + # Test with a string file path + filename = '/path/to/backtest_results.json' + expected = Path('/path/to/backtest_results.meta.json') + assert get_backtest_metadata_filename(filename) == expected + + # Test with a string file path with no extension + filename = '/path/to/backtest_results' + expected = Path('/path/to/backtest_results.meta') + assert get_backtest_metadata_filename(filename) == expected + + # Test with a string file path with multiple dots in the name + filename = '/path/to/backtest.results.json' + expected = Path('/path/to/backtest.results.meta.json') + assert get_backtest_metadata_filename(filename) == expected + + # Test with a string file path with no parent directory + filename = 'backtest_results.json' + expected = Path('backtest_results.meta.json') + assert get_backtest_metadata_filename(filename) == expected +