def test_run_reset_mode() -> None:
    manager = PeripheralManager(
        name="Test",
        state=State(),
        config=peripheral_config,
        i2c_lock=threading.RLock(),
        simulate=True,
    )
    manager.run_reset_mode()
    assert manager.mode == modes.INIT
Esempio n. 2
0
def test_run_setup_mode():
    manager = PeripheralManager(
        name="Test",
        state=State(),
        config=peripheral_config,
        i2c_lock=threading.RLock(),
        simulate=True,
    )
    manager.run_setup_mode()
    assert manager.mode == Modes.NORMAL
def test_init() -> None:
    manager = PeripheralManager(
        name="Test",
        state=State(),
        config=peripheral_config,
        i2c_lock=threading.RLock(),
        simulate=True,
    )
def test_reset_400() -> None:
    manager = PeripheralManager(
        name="Test",
        state=State(),
        config=peripheral_config,
        i2c_lock=threading.RLock(),
        simulate=True,
    )
    message, status = manager.events.reset()
    assert status == 400
def test_reset_200() -> None:
    manager = PeripheralManager(
        name="Test",
        state=State(),
        config=peripheral_config,
        i2c_lock=threading.RLock(),
        simulate=True,
    )
    manager._mode = Modes.ERROR
    message, status = manager.events.reset()
    assert status == 200

    # Manager should not process reset event until check() is called but
    # event should get updated in the event queue
    assert manager.mode == Modes.ERROR
    assert list(manager.events.queue.queue) == [{"type": "Reset"}]

    # Make sure manager mode transitions after calling check()
    manager.events.check()
    assert manager.mode == Modes.RESET
def test_set_sampling_interval() -> None:
    manager = PeripheralManager(
        name="Test",
        state=State(),
        config=peripheral_config,
        i2c_lock=threading.RLock(),
        simulate=True,
    )
    assert manager.sampling_interval == 5  # default to 5 seconds
    manager.create_event({"type": events.SET_SAMPLING_INTERVAL, "value": 33})
    manager.check_events()
    assert manager.sampling_interval == 33