mirror of
https://github.com/mistralai/mistral-vibe
synced 2026-04-25 17:14:55 +02:00
Co-authored-by: Bastien <bastien.baret@gmail.com> Co-authored-by: Clément Sirieix <clement.sirieix@mistral.ai> Co-authored-by: Julien Legrand <72564015+JulienLGRD@users.noreply.github.com> Co-authored-by: Kim-Adeline Miguel <51720070+kimadeline@users.noreply.github.com> Co-authored-by: Mathias Gesbert <mathias.gesbert@mistral.ai> Co-authored-by: Pierre Rossinès <pierre.rossines@mistral.ai> Co-authored-by: Quentin <quentin.torroba@mistral.ai> Co-authored-by: Vincent G <10739306+VinceOPS@users.noreply.github.com> Co-authored-by: Mistral Vibe <vibe@mistral.ai>
62 lines
2.0 KiB
Python
62 lines
2.0 KiB
Python
from __future__ import annotations
|
|
|
|
from vibe.cli.narrator_manager.telemetry import ReadAloudTrackingState
|
|
|
|
|
|
class TestReadAloudTrackingState:
|
|
def test_default_state(self) -> None:
|
|
state = ReadAloudTrackingState()
|
|
assert state.session_id == ""
|
|
assert state.request_time == 0.0
|
|
assert state.play_start_time == 0.0
|
|
|
|
def test_reset_generates_session_id(self) -> None:
|
|
state = ReadAloudTrackingState()
|
|
state.reset()
|
|
assert state.session_id != ""
|
|
assert len(state.session_id) == 36 # UUID format
|
|
|
|
def test_reset_generates_unique_session_ids(self) -> None:
|
|
state = ReadAloudTrackingState()
|
|
state.reset()
|
|
first_id = state.session_id
|
|
state.reset()
|
|
assert state.session_id != first_id
|
|
|
|
def test_reset_clears_play_start_time(self) -> None:
|
|
state = ReadAloudTrackingState()
|
|
state.reset()
|
|
state.mark_play_started()
|
|
assert state.play_start_time > 0.0
|
|
state.reset()
|
|
assert state.play_start_time == 0.0
|
|
|
|
def test_mark_play_started(self) -> None:
|
|
state = ReadAloudTrackingState()
|
|
state.reset()
|
|
state.mark_play_started()
|
|
assert state.play_start_time > 0.0
|
|
|
|
def test_time_to_first_read_s(self) -> None:
|
|
state = ReadAloudTrackingState()
|
|
state.reset()
|
|
state.mark_play_started()
|
|
ttfr = state.time_to_first_read_s()
|
|
assert ttfr >= 0.0
|
|
|
|
def test_time_to_first_read_s_before_play(self) -> None:
|
|
state = ReadAloudTrackingState()
|
|
state.reset()
|
|
assert state.time_to_first_read_s() == 0.0
|
|
|
|
def test_elapsed_since_play_s(self) -> None:
|
|
state = ReadAloudTrackingState()
|
|
state.reset()
|
|
state.mark_play_started()
|
|
elapsed = state.elapsed_since_play_s()
|
|
assert elapsed >= 0.0
|
|
|
|
def test_elapsed_since_play_s_before_play(self) -> None:
|
|
state = ReadAloudTrackingState()
|
|
assert state.elapsed_since_play_s() == 0.0
|