summaryrefslogtreecommitdiff
path: root/tests/edge_cases/test_strategy_reset.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/edge_cases/test_strategy_reset.py')
-rw-r--r--tests/edge_cases/test_strategy_reset.py29
1 files changed, 15 insertions, 14 deletions
diff --git a/tests/edge_cases/test_strategy_reset.py b/tests/edge_cases/test_strategy_reset.py
index 6e9b956..13ed4da 100644
--- a/tests/edge_cases/test_strategy_reset.py
+++ b/tests/edge_cases/test_strategy_reset.py
@@ -1,21 +1,22 @@
"""Tests that strategy reset() properly clears internal state."""
import sys
-from datetime import datetime, timezone
+from datetime import UTC, datetime
from decimal import Decimal
from pathlib import Path
sys.path.insert(0, str(Path(__file__).resolve().parents[2] / "services" / "strategy-engine"))
sys.path.insert(0, str(Path(__file__).resolve().parents[2] / "services" / "backtester" / "src"))
-from shared.models import Candle
-from strategies.rsi_strategy import RsiStrategy
-from strategies.grid_strategy import GridStrategy
-from strategies.macd_strategy import MacdStrategy
from strategies.bollinger_strategy import BollingerStrategy
from strategies.ema_crossover_strategy import EmaCrossoverStrategy
-from strategies.vwap_strategy import VwapStrategy
+from strategies.grid_strategy import GridStrategy
+from strategies.macd_strategy import MacdStrategy
+from strategies.rsi_strategy import RsiStrategy
from strategies.volume_profile_strategy import VolumeProfileStrategy
+from strategies.vwap_strategy import VwapStrategy
+
+from shared.models import Candle
def _make_candles(count: int, base_price: float = 100.0) -> list[Candle]:
@@ -28,7 +29,7 @@ def _make_candles(count: int, base_price: float = 100.0) -> list[Candle]:
Candle(
symbol="AAPL",
timeframe="1h",
- open_time=datetime(2025, 1, 1, i % 24, tzinfo=timezone.utc),
+ open_time=datetime(2025, 1, 1, i % 24, tzinfo=UTC),
open=Decimal(str(price)),
high=Decimal(str(price + 1)),
low=Decimal(str(price - 1)),
@@ -57,7 +58,7 @@ class TestRsiReset:
strategy.reset()
signals2 = _collect_signals(strategy, candles)
assert len(signals1) == len(signals2)
- for s1, s2 in zip(signals1, signals2):
+ for s1, s2 in zip(signals1, signals2, strict=True):
assert s1.side == s2.side
assert s1.price == s2.price
@@ -71,7 +72,7 @@ class TestGridReset:
strategy.reset()
signals2 = _collect_signals(strategy, candles)
assert len(signals1) == len(signals2)
- for s1, s2 in zip(signals1, signals2):
+ for s1, s2 in zip(signals1, signals2, strict=True):
assert s1.side == s2.side
assert s1.price == s2.price
@@ -84,7 +85,7 @@ class TestMacdReset:
strategy.reset()
signals2 = _collect_signals(strategy, candles)
assert len(signals1) == len(signals2)
- for s1, s2 in zip(signals1, signals2):
+ for s1, s2 in zip(signals1, signals2, strict=True):
assert s1.side == s2.side
assert s1.price == s2.price
@@ -97,7 +98,7 @@ class TestBollingerReset:
strategy.reset()
signals2 = _collect_signals(strategy, candles)
assert len(signals1) == len(signals2)
- for s1, s2 in zip(signals1, signals2):
+ for s1, s2 in zip(signals1, signals2, strict=True):
assert s1.side == s2.side
assert s1.price == s2.price
@@ -110,7 +111,7 @@ class TestEmaCrossoverReset:
strategy.reset()
signals2 = _collect_signals(strategy, candles)
assert len(signals1) == len(signals2)
- for s1, s2 in zip(signals1, signals2):
+ for s1, s2 in zip(signals1, signals2, strict=True):
assert s1.side == s2.side
assert s1.price == s2.price
@@ -123,7 +124,7 @@ class TestVwapReset:
strategy.reset()
signals2 = _collect_signals(strategy, candles)
assert len(signals1) == len(signals2)
- for s1, s2 in zip(signals1, signals2):
+ for s1, s2 in zip(signals1, signals2, strict=True):
assert s1.side == s2.side
assert s1.price == s2.price
@@ -136,6 +137,6 @@ class TestVolumeProfileReset:
strategy.reset()
signals2 = _collect_signals(strategy, candles)
assert len(signals1) == len(signals2)
- for s1, s2 in zip(signals1, signals2):
+ for s1, s2 in zip(signals1, signals2, strict=True):
assert s1.side == s2.side
assert s1.price == s2.price