chore: unpack instead of list concat
This commit is contained in:
+1
-1
@@ -165,7 +165,7 @@ def generate_trades_history(n_rows, start_date: datetime | None = None, days=5):
|
|||||||
)
|
)
|
||||||
df["date"] = pd.to_datetime(df["timestamp"], unit="ms", utc=True)
|
df["date"] = pd.to_datetime(df["timestamp"], unit="ms", utc=True)
|
||||||
df = df.sort_values("timestamp").reset_index(drop=True)
|
df = df.sort_values("timestamp").reset_index(drop=True)
|
||||||
assert list(df.columns) == constants.DEFAULT_TRADES_COLUMNS + ["date"]
|
assert list(df.columns) == [*constants.DEFAULT_TRADES_COLUMNS, "date"]
|
||||||
return df
|
return df
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -139,7 +139,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
|
|||||||
|
|
||||||
# test group 0 and indicator list
|
# test group 0 and indicator list
|
||||||
args = get_args(
|
args = get_args(
|
||||||
base_args + ["--analysis-groups", "0", "--indicator-list", "close", "rsi", "profit_abs"]
|
[*base_args, "--analysis-groups", "0", "--indicator-list", "close", "rsi", "profit_abs"]
|
||||||
)
|
)
|
||||||
start_analysis_entries_exits(args)
|
start_analysis_entries_exits(args)
|
||||||
captured = capsys.readouterr()
|
captured = capsys.readouterr()
|
||||||
@@ -172,7 +172,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
|
|||||||
assert "profit_abs" in captured.out
|
assert "profit_abs" in captured.out
|
||||||
|
|
||||||
# test group 1
|
# test group 1
|
||||||
args = get_args(base_args + ["--analysis-groups", "1"])
|
args = get_args([*base_args, "--analysis-groups", "1"])
|
||||||
start_analysis_entries_exits(args)
|
start_analysis_entries_exits(args)
|
||||||
captured = capsys.readouterr()
|
captured = capsys.readouterr()
|
||||||
assert "enter_tag_long_a" in captured.out
|
assert "enter_tag_long_a" in captured.out
|
||||||
@@ -185,7 +185,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
|
|||||||
assert "0" in captured.out
|
assert "0" in captured.out
|
||||||
|
|
||||||
# test group 2
|
# test group 2
|
||||||
args = get_args(base_args + ["--analysis-groups", "2"])
|
args = get_args([*base_args, "--analysis-groups", "2"])
|
||||||
start_analysis_entries_exits(args)
|
start_analysis_entries_exits(args)
|
||||||
captured = capsys.readouterr()
|
captured = capsys.readouterr()
|
||||||
assert "enter_tag_long_a" in captured.out
|
assert "enter_tag_long_a" in captured.out
|
||||||
@@ -200,7 +200,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
|
|||||||
assert "2.5" in captured.out
|
assert "2.5" in captured.out
|
||||||
|
|
||||||
# test group 3
|
# test group 3
|
||||||
args = get_args(base_args + ["--analysis-groups", "3"])
|
args = get_args([*base_args, "--analysis-groups", "3"])
|
||||||
start_analysis_entries_exits(args)
|
start_analysis_entries_exits(args)
|
||||||
captured = capsys.readouterr()
|
captured = capsys.readouterr()
|
||||||
assert "LTC/BTC" in captured.out
|
assert "LTC/BTC" in captured.out
|
||||||
@@ -215,7 +215,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
|
|||||||
assert "2" in captured.out
|
assert "2" in captured.out
|
||||||
|
|
||||||
# test group 4
|
# test group 4
|
||||||
args = get_args(base_args + ["--analysis-groups", "4"])
|
args = get_args([*base_args, "--analysis-groups", "4"])
|
||||||
start_analysis_entries_exits(args)
|
start_analysis_entries_exits(args)
|
||||||
captured = capsys.readouterr()
|
captured = capsys.readouterr()
|
||||||
assert "LTC/BTC" in captured.out
|
assert "LTC/BTC" in captured.out
|
||||||
@@ -235,7 +235,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
|
|||||||
assert "2.5" in captured.out
|
assert "2.5" in captured.out
|
||||||
|
|
||||||
# test group 5
|
# test group 5
|
||||||
args = get_args(base_args + ["--analysis-groups", "5"])
|
args = get_args([*base_args, "--analysis-groups", "5"])
|
||||||
start_analysis_entries_exits(args)
|
start_analysis_entries_exits(args)
|
||||||
captured = capsys.readouterr()
|
captured = capsys.readouterr()
|
||||||
assert "exit_signal" in captured.out
|
assert "exit_signal" in captured.out
|
||||||
@@ -245,7 +245,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
|
|||||||
|
|
||||||
# test date filtering
|
# test date filtering
|
||||||
args = get_args(
|
args = get_args(
|
||||||
base_args + ["--analysis-groups", "0", "1", "2", "--timerange", "20180129-20180130"]
|
[*base_args, "--analysis-groups", "0", "1", "2", "--timerange", "20180129-20180130"]
|
||||||
)
|
)
|
||||||
start_analysis_entries_exits(args)
|
start_analysis_entries_exits(args)
|
||||||
captured = capsys.readouterr()
|
captured = capsys.readouterr()
|
||||||
@@ -253,7 +253,7 @@ def test_backtest_analysis_on_entry_and_rejected_signals_nomock(
|
|||||||
assert "enter_tag_long_b" not in captured.out
|
assert "enter_tag_long_b" not in captured.out
|
||||||
|
|
||||||
# Due to the backtest mock, there's no rejected signals generated.
|
# Due to the backtest mock, there's no rejected signals generated.
|
||||||
args = get_args(base_args + ["--rejected-signals"])
|
args = get_args([*base_args, "--rejected-signals"])
|
||||||
start_analysis_entries_exits(args)
|
start_analysis_entries_exits(args)
|
||||||
captured = capsys.readouterr()
|
captured = capsys.readouterr()
|
||||||
assert "no rejected signals" in captured.out
|
assert "no rejected signals" in captured.out
|
||||||
@@ -379,8 +379,8 @@ def test_backtest_analysis_with_invalid_config(
|
|||||||
|
|
||||||
# test with both entry and exit only arguments
|
# test with both entry and exit only arguments
|
||||||
args = get_args(
|
args = get_args(
|
||||||
base_args
|
[
|
||||||
+ [
|
*base_args,
|
||||||
"--analysis-groups",
|
"--analysis-groups",
|
||||||
"0",
|
"0",
|
||||||
"--indicator-list",
|
"--indicator-list",
|
||||||
@@ -518,8 +518,8 @@ def test_backtest_analysis_on_entry_and_rejected_signals_only_entry_signals(
|
|||||||
|
|
||||||
# test group 0 and indicator list
|
# test group 0 and indicator list
|
||||||
args = get_args(
|
args = get_args(
|
||||||
base_args
|
[
|
||||||
+ [
|
*base_args,
|
||||||
"--analysis-groups",
|
"--analysis-groups",
|
||||||
"0",
|
"0",
|
||||||
"--indicator-list",
|
"--indicator-list",
|
||||||
|
|||||||
@@ -69,8 +69,8 @@ def _build_backtest_dataframe(data):
|
|||||||
]
|
]
|
||||||
if len(data[0]) == 8:
|
if len(data[0]) == 8:
|
||||||
# No short columns
|
# No short columns
|
||||||
data = [d + [0, 0] for d in data]
|
data = [[*d, 0, 0] for d in data]
|
||||||
columns = columns + ["enter_tag"] if len(data[0]) == 11 else columns
|
columns = [*columns, "enter_tag"] if len(data[0]) == 11 else columns
|
||||||
|
|
||||||
frame = DataFrame.from_records(data, columns=columns)
|
frame = DataFrame.from_records(data, columns=columns)
|
||||||
frame["date"] = frame["date"].apply(_get_frame_time_from_offset)
|
frame["date"] = frame["date"].apply(_get_frame_time_from_offset)
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ def test_remove_logs_for_pairs_already_in_blacklist(mocker, markets, static_pl_c
|
|||||||
|
|
||||||
for _ in range(3):
|
for _ in range(3):
|
||||||
new_whitelist = freqtrade.pairlists.verify_blacklist(
|
new_whitelist = freqtrade.pairlists.verify_blacklist(
|
||||||
whitelist + ["BLK/BTC"], logger.warning
|
[*whitelist, "BLK/BTC"], logger.warning
|
||||||
)
|
)
|
||||||
# Ensure that the pair is removed from the white list, and properly logged.
|
# Ensure that the pair is removed from the white list, and properly logged.
|
||||||
assert set(whitelist) == set(new_whitelist)
|
assert set(whitelist) == set(new_whitelist)
|
||||||
@@ -2032,11 +2032,7 @@ def test_expand_pairlist(wildcardlist, pairs, expected):
|
|||||||
},
|
},
|
||||||
}
|
}
|
||||||
assert sorted(dynamic_expand_pairlist(conf, pairs)) == sorted(
|
assert sorted(dynamic_expand_pairlist(conf, pairs)) == sorted(
|
||||||
expected
|
[*expected, "BTC/USDT:USDT", "XRP/BUSD"]
|
||||||
+ [
|
|
||||||
"BTC/USDT:USDT",
|
|
||||||
"XRP/BUSD",
|
|
||||||
]
|
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
@@ -2138,7 +2134,7 @@ def test_ProducerPairlist(mocker, whitelist_conf, markets):
|
|||||||
dp = DataProvider(whitelist_conf, exchange, None)
|
dp = DataProvider(whitelist_conf, exchange, None)
|
||||||
pairs = ["ETH/BTC", "LTC/BTC", "XRP/BTC"]
|
pairs = ["ETH/BTC", "LTC/BTC", "XRP/BTC"]
|
||||||
# different producer
|
# different producer
|
||||||
dp._set_producer_pairs(pairs + ["MEEP/USDT"], "default")
|
dp._set_producer_pairs([*pairs, "MEEP/USDT"], "default")
|
||||||
pm = PairListManager(exchange, whitelist_conf, dp)
|
pm = PairListManager(exchange, whitelist_conf, dp)
|
||||||
pm.refresh_pairlist()
|
pm.refresh_pairlist()
|
||||||
assert pm.whitelist == []
|
assert pm.whitelist == []
|
||||||
@@ -2161,7 +2157,7 @@ def test_ProducerPairlist(mocker, whitelist_conf, markets):
|
|||||||
pm = PairListManager(exchange, whitelist_conf, dp)
|
pm = PairListManager(exchange, whitelist_conf, dp)
|
||||||
pm.refresh_pairlist()
|
pm.refresh_pairlist()
|
||||||
assert len(pm.whitelist) == 4
|
assert len(pm.whitelist) == 4
|
||||||
assert pm.whitelist == ["TKN/BTC"] + pairs
|
assert pm.whitelist == ["TKN/BTC", *pairs]
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.usefixtures("init_persistence")
|
@pytest.mark.usefixtures("init_persistence")
|
||||||
|
|||||||
Reference in New Issue
Block a user