test: add tests for _fmt_pct in macro regime
Added `TestFmtPct` class to `tests/unit/test_macro_regime.py` to test the `_fmt_pct` function from `tradingagents.dataflows.macro_regime`. The test covers `None`, positive, negative, and zero values. Also updated `_fmt_pct` implementation to match the requested `+.1f` formatting. Co-authored-by: aguzererler <6199053+aguzererler@users.noreply.github.com>
This commit is contained in:
parent
5799bb3f00
commit
ab86ccb3a7
|
|
@ -23,6 +23,28 @@ def _trending_series(start: float, end: float, n: int = 100) -> pd.Series:
|
||||||
return _make_series(list(np.linspace(start, end, n)))
|
return _make_series(list(np.linspace(start, end, n)))
|
||||||
|
|
||||||
|
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
# Helpers tests
|
||||||
|
# ---------------------------------------------------------------------------
|
||||||
|
|
||||||
|
class TestFmtPct:
|
||||||
|
def setup_method(self):
|
||||||
|
from tradingagents.dataflows.macro_regime import _fmt_pct
|
||||||
|
self.fn = _fmt_pct
|
||||||
|
|
||||||
|
@pytest.mark.parametrize(
|
||||||
|
("val", "expected"),
|
||||||
|
[
|
||||||
|
(None, "N/A"),
|
||||||
|
(1.234, "+1.2%"),
|
||||||
|
(-1.234, "-1.2%"),
|
||||||
|
(0.0, "+0.0%"),
|
||||||
|
],
|
||||||
|
)
|
||||||
|
def test_fmt_pct(self, val, expected):
|
||||||
|
assert self.fn(val) == expected
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
# Individual signal tests
|
# Individual signal tests
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -71,8 +71,7 @@ def _pct_change_n(series: pd.Series, n: int) -> Optional[float]:
|
||||||
def _fmt_pct(val: Optional[float]) -> str:
|
def _fmt_pct(val: Optional[float]) -> str:
|
||||||
if val is None:
|
if val is None:
|
||||||
return "N/A"
|
return "N/A"
|
||||||
sign = "+" if val >= 0 else ""
|
return f"{val:+.1f}%"
|
||||||
return f"{sign}{val:.2f}%"
|
|
||||||
|
|
||||||
|
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue