feat: implement slot_error_boundary decorator and add unit tests for session and device controllers
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
import pytest
|
||||
from unittest.mock import MagicMock, patch
|
||||
from pygui.backend.controllers.session_controller import SessionController
|
||||
|
||||
@pytest.fixture
|
||||
def controller():
|
||||
return SessionController()
|
||||
|
||||
def test_initial_default(controller):
|
||||
assert controller.mode == "review"
|
||||
assert controller.state == "idle"
|
||||
assert controller.recording == False
|
||||
|
||||
def test_playback_flow(controller):
|
||||
controller.loadFile("tests/fixtures/sample_stream.csv")
|
||||
controller.play()
|
||||
initial_index = controller.frameIndex
|
||||
controller._advance()
|
||||
assert controller.frameIndex == initial_index + 1
|
||||
|
||||
def test_speed_control(controller):
|
||||
controller.setSpeed(2.0)
|
||||
interval = controller._next_interval_ms()
|
||||
controller.setSpeed(0.5)
|
||||
assert controller._next_interval_ms() > interval
|
||||
|
||||
def test_seek(controller):
|
||||
controller.loadFile("tests/fixtures/sample_stream.csv")
|
||||
controller.seek(1)
|
||||
assert controller.frameIndex == 1
|
||||
|
||||
def test_step_forward(controller):
|
||||
controller.loadFile("tests/fixtures/sample_stream.csv")
|
||||
initial = controller.frameIndex
|
||||
controller.step(1)
|
||||
assert controller.frameIndex == initial + 1
|
||||
|
||||
def test_step_backward(controller):
|
||||
controller.loadFile("tests/fixtures/sample_stream.csv")
|
||||
controller.seek(2)
|
||||
controller.step(-1)
|
||||
assert controller.frameIndex == 1
|
||||
|
||||
def test_pause_stop_timer(controller):
|
||||
controller.loadFile("tests/fixtures/sample_stream.csv")
|
||||
controller.seek(2)
|
||||
controller.stop()
|
||||
assert controller.frameIndex == 0
|
||||
Reference in New Issue
Block a user