test: improve test to make it more realistic
This commit is contained in:
+4
-2
@@ -169,10 +169,12 @@ def generate_trades_history(n_rows, start_date: datetime | None = None, days=5):
|
|||||||
return df
|
return df
|
||||||
|
|
||||||
|
|
||||||
def generate_test_data(timeframe: str, size: int, start: str = "2020-07-05", random_seed=42):
|
def generate_test_data(
|
||||||
|
timeframe: str, size: int, start: str = "2020-07-05", random_seed=42, base=20
|
||||||
|
):
|
||||||
np.random.seed(random_seed)
|
np.random.seed(random_seed)
|
||||||
|
|
||||||
base = np.random.normal(20, 2, size=size)
|
base = np.random.normal(base, 2, size=size)
|
||||||
if timeframe == "1y":
|
if timeframe == "1y":
|
||||||
date = pd.date_range(start, periods=size, freq="1YS", tz="UTC")
|
date = pd.date_range(start, periods=size, freq="1YS", tz="UTC")
|
||||||
elif timeframe == "1M":
|
elif timeframe == "1M":
|
||||||
|
|||||||
@@ -204,11 +204,11 @@ def test_migrate_wallet_history_with_multiple_pairs(default_conf_usdt, fee, time
|
|||||||
candle_type = default_conf_usdt.get("candle_type_def", CandleType.SPOT)
|
candle_type = default_conf_usdt.get("candle_type_def", CandleType.SPOT)
|
||||||
ohlcv_data = {}
|
ohlcv_data = {}
|
||||||
ohlcv_data[("ETH/USDT", "1d", candle_type)] = generate_test_data(
|
ohlcv_data[("ETH/USDT", "1d", candle_type)] = generate_test_data(
|
||||||
"1d", size=20, start=bot_start.strftime("%Y-%m-%d")
|
"1d", size=20, start=bot_start.strftime("%Y-%m-%d"), base=1500
|
||||||
)
|
)
|
||||||
|
|
||||||
ohlcv_data[("BTC/USDT", "1d", candle_type)] = generate_test_data(
|
ohlcv_data[("BTC/USDT", "1d", candle_type)] = generate_test_data(
|
||||||
"1d", size=20, start=bot_start.strftime("%Y-%m-%d")
|
"1d", size=20, start=bot_start.strftime("%Y-%m-%d"), base=30000
|
||||||
)
|
)
|
||||||
|
|
||||||
exchange = MagicMock()
|
exchange = MagicMock()
|
||||||
@@ -238,8 +238,8 @@ def test_migrate_wallet_history_with_multiple_pairs(default_conf_usdt, fee, time
|
|||||||
btc_entries = [e for e in wallet_entries if e.currency == "BTC"]
|
btc_entries = [e for e in wallet_entries if e.currency == "BTC"]
|
||||||
assert len(eth_entries) == 4
|
assert len(eth_entries) == 4
|
||||||
assert len(btc_entries) == 2
|
assert len(btc_entries) == 2
|
||||||
assert all(entry.price and entry.price != 1.0 for entry in eth_entries)
|
assert all(entry.price and entry.price > 1400 and entry.price < 1600 for entry in eth_entries)
|
||||||
assert all(entry.price and entry.price != 1.0 for entry in btc_entries)
|
assert all(entry.price and entry.price > 29000 and entry.price < 31000 for entry in btc_entries)
|
||||||
assert all(entry.balance == 10 for entry in btc_entries)
|
assert all(entry.balance == 10 for entry in btc_entries)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user