Refactor code structure for improved readability and maintainability
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
"""Tests for src/pygui/backend/sensor_editor.py."""
|
||||
import pytest
|
||||
from pygui.backend.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
|
||||
Reference in New Issue
Block a user