From ab86ccb3a7eb164b10a96221b3aef5dddb737e79 Mon Sep 17 00:00:00 2001 From: "google-labs-jules[bot]" <161369871+google-labs-jules[bot]@users.noreply.github.com> Date: Sat, 21 Mar 2026 08:24:45 +0000 Subject: [PATCH] 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> --- tests/unit/test_macro_regime.py | 22 ++++++++++++++++++++++ tradingagents/dataflows/macro_regime.py | 3 +-- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/tests/unit/test_macro_regime.py b/tests/unit/test_macro_regime.py index 3271f2a4..d671ac74 100644 --- a/tests/unit/test_macro_regime.py +++ b/tests/unit/test_macro_regime.py @@ -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))) +# --------------------------------------------------------------------------- +# 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 # --------------------------------------------------------------------------- diff --git a/tradingagents/dataflows/macro_regime.py b/tradingagents/dataflows/macro_regime.py index 5ca30f3e..1126a4f7 100644 --- a/tradingagents/dataflows/macro_regime.py +++ b/tradingagents/dataflows/macro_regime.py @@ -71,8 +71,7 @@ def _pct_change_n(series: pd.Series, n: int) -> Optional[float]: def _fmt_pct(val: Optional[float]) -> str: if val is None: return "N/A" - sign = "+" if val >= 0 else "" - return f"{sign}{val:.2f}%" + return f"{val:+.1f}%" # ---------------------------------------------------------------------------