jarvis / tests /test_turn_taking.py
Jonathan Haas
Fix low-confidence phrase matching case normalization
5d2c0f3
Raw
History Blame Contribute Delete
1.38 kB
import pytest
from jarvis.__main__ import Jarvis, TURN_TAKING_BARGE_IN_THRESHOLD
from jarvis.presence import Signals
@pytest.fixture
def jarvis_instance():
args = type("Args", (), {"sim": True, "no_vision": True, "no_tts": True, "debug": False})
jarvis = Jarvis(args)
jarvis.presence.signals = Signals()
return jarvis
def test_turn_taking_threshold_regular(jarvis_instance):
now = 100.0
jarvis_instance.presence.signals.face_last_seen = now
assert jarvis_instance._compute_turn_taking(conf=0.8, doa_speech=False, assistant_busy=False, now=now)
def test_turn_taking_high_confidence_no_doa(jarvis_instance):
now = 200.0
jarvis_instance.presence.signals.face_last_seen = now
assert jarvis_instance._compute_turn_taking(conf=0.95, doa_speech=False, assistant_busy=False, now=now)
def test_turn_taking_threshold_barge_in(jarvis_instance):
now = 100.0
jarvis_instance.presence.signals.doa_last_seen = now
assert jarvis_instance._compute_turn_taking(
conf=TURN_TAKING_BARGE_IN_THRESHOLD,
doa_speech=True,
assistant_busy=True,
now=now,
)
def test_confidence_pause(jarvis_instance):
assert jarvis_instance._confidence_pause("I think it might work") > 0
def test_confidence_pause_phrase_only(jarvis_instance):
assert jarvis_instance._confidence_pause("I believe this is correct") > 0