You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
16 lines
1.2 KiB
16 lines
1.2 KiB
from pathlib import Path
|
|
from src.gui.config_panel import experiment_overrides,validate_experiment_request
|
|
from src.gui.gui_models import GuiExperimentRequest
|
|
CONFIG=str(Path(__file__).parents[1]/"config"/"experiment.yaml")
|
|
def request(**values):return GuiExperimentRequest(config_path=CONFIG,**values)
|
|
def test_invalid_numeric_fields()->None:
|
|
assert not validate_experiment_request(request(camera_index=-1)).valid
|
|
assert not validate_experiment_request(request(voice_volume=1.1)).valid
|
|
assert not validate_experiment_request(request(face_every=0)).valid
|
|
assert not validate_experiment_request(request(max_face_persons=0)).valid
|
|
def test_video_requires_existing_path()->None:assert not validate_experiment_request(request(input_type="video")).valid
|
|
def test_prompt_without_audio_is_warning()->None:
|
|
result=validate_experiment_request(request(voice_mode="prompt"));assert result.valid and result.warnings
|
|
def test_valid_request_and_overrides()->None:
|
|
r=request(voice_mode="control",signage_yaw_direction="negative");assert validate_experiment_request(r).valid
|
|
values=experiment_overrides(r);assert values["voice_prompt"]["mode"]=="control" and values["turn_detection"]["signage_yaw_direction"]=="negative"
|
|
|