Files
trading-agent/tests/test_broker.py

29 lines
864 B
Python

"""Pure tests for bracket level math (long + short). No network."""
from __future__ import annotations
import pytest
from execution.broker import bracket_levels
def test_long_levels_ordered():
side, entry, stop, take = bracket_levels(100.0, 0.07, 0.15, "long")
assert side == "buy"
assert stop < entry < take
assert (stop, take) == (93.0, 115.0)
def test_short_levels_inverted_and_ordered():
side, entry, stop, take = bracket_levels(100.0, 0.07, 0.15, "short")
assert side == "sell"
# short: profit below (take), loss above (stop)
assert take < entry < stop
assert (take, stop) == (85.0, 107.0)
def test_tiny_take_does_not_invert_long():
# adaptive buffer keeps entry inside the band even when take_pct is small
side, entry, stop, take = bracket_levels(100.0, 0.10, 0.03, "long")
assert stop < entry < take