Добавить множитель и IQ в Python-тренды

This commit is contained in:
2026-09-05 03:43:22 +03:00
parent 286e454464
commit 59f847e900
2 changed files with 23 additions and 3 deletions

View File

@@ -14,6 +14,16 @@ FIXTURE = Path(__file__).resolve().parents[2] / "c/set-protocol/tests/fixtures/t
class TrendTests(unittest.TestCase):
def test_multiplier_and_iq_scale_display_and_old_json_defaults(self):
signal = TrendSignal("scaled", multiplier=2.5, iq=3)
self.assertEqual(10.0, signal.display_value(32.0))
signal.validate("TMS2812")
payload = json.loads(encode_settings({"TMS2812": [signal]}))
payload["profiles"]["TMS2812"][0].pop("multiplier")
payload["profiles"]["TMS2812"][0].pop("iq")
restored = decode_settings(json.dumps(payload))["TMS2812"][0]
self.assertEqual((1.0, 0), (restored.multiplier, restored.iq))
def test_shared_kotlin_fixture_and_round_trip(self):
settings = decode_settings(FIXTURE.read_text(encoding="utf-8"))
self.assertEqual(5, sum(map(len, settings.values())))