Files
pyGUI/tests/test_sensor_editor.py
T

50 lines
1.5 KiB
Python

"""Tests for src/pygui/backend/sensor_editor.py."""
import pytest
from pygui.backend.models.sensor_editor import SensorEditor
def test_replace_overrides_raw_value():
ed = SensorEditor()
ed.set_replacement(2, 150.0) # index 2 forced to 150.0 regardless of raw
assert ed.apply([149.0, 149.0, 99.0]) == [149.0, 149.0, 150.0]
def test_offset_shifts_raw_value():
ed = SensorEditor()
ed.set_offset(0, +0.5)
assert ed.apply([149.0, 149.0]) == [149.5, 149.0]
def test_replace_and_offset_apply_in_order():
"""Replacement wins over raw, then offset is added on top."""
ed = SensorEditor()
ed.set_replacement(2, 150.0)
ed.set_offset(2, +1.0) # sensor 2: replace 99→150, then +1 → 151
ed.set_offset(0, +0.5)
out = ed.apply([149.0, 149.0, 99.0, 149.0])
assert out == [149.5, 149.0, 151.0, 149.0]
def test_clear_single_index_restores_only_that_sensor():
ed = SensorEditor()
ed.set_replacement(0, 0.0)
ed.set_replacement(1, 0.0)
ed.clear(0) # clear only index 0
assert ed.apply([149.0, 149.0]) == [149.0, 0.0]
def test_clear_restores_all():
ed = SensorEditor()
ed.set_offset(0, 5.0)
ed.set_replacement(1, 200.0)
ed.clear()
assert ed.apply([149.0, 149.0]) == [149.0, 149.0]
def test_no_overrides_returns_copy():
ed = SensorEditor()
original = [149.0, 149.0]
result = ed.apply(original)
assert result == original
assert result is not original