Spaces:
Runtime error
Runtime error
| """Tests for the canonical knowledge-base loader and registry.""" | |
| from ergo_agentic.datasources import DatasourceRegistry, load_parameters | |
| from ergo_agentic.datasources.paths import KNOWLEDGE_BASE_FILE | |
| from ergo_agentic.domain.enums import ParameterGroup, RiskLevel, SelectionMode | |
| def test_load_parameters(): | |
| params = load_parameters(KNOWLEDGE_BASE_FILE) | |
| assert len(params) == 12 | |
| def test_all_groups_present(): | |
| params = load_parameters(KNOWLEDGE_BASE_FILE) | |
| assert {p.group for p in params} == { | |
| ParameterGroup.CHAIR, | |
| ParameterGroup.DESK, | |
| ParameterGroup.KEYBOARD_MOUSE, | |
| ParameterGroup.LAPTOP, | |
| ParameterGroup.SCREEN, | |
| } | |
| def test_every_parameter_has_good_option(): | |
| for p in load_parameters(KNOWLEDGE_BASE_FILE): | |
| assert any(o.is_good_habit for o in p.options), p.parameter_text | |
| def test_option_keys_globally_unique(): | |
| keys = [o.key for p in load_parameters(KNOWLEDGE_BASE_FILE) for o in p.options] | |
| assert len(keys) == len(set(keys)) | |
| def test_registry_lookups(): | |
| reg = DatasourceRegistry.from_knowledge_base() | |
| opt = reg.get_option("chair-posture-slouching") | |
| assert opt is not None | |
| assert opt.label == "Slouching" | |
| assert not opt.is_good_habit | |
| assert opt.risk_level == RiskLevel.MEDIUM | |
| assert isinstance(opt.posture_score, int) | |
| parent = reg.get_parameter_for_outcome("chair-posture-slouching") | |
| assert parent is not None | |
| assert parent.parameter_text == "Back support" | |
| def test_get_option_metadata_returns_inlined_fields(): | |
| reg = DatasourceRegistry.from_knowledge_base() | |
| opt = reg.get_option_metadata("chair-armRest-lowerThanElbow") | |
| assert opt is not None | |
| assert opt.is_good_habit | |
| assert opt.risk_level is None | |
| assert opt.posture_score == 15 | |
| def test_multi_select_detection(): | |
| reg = DatasourceRegistry.from_knowledge_base() | |
| back_support = reg.get_parameter_for_outcome("chair-posture-slouching") | |
| assert back_support is not None | |
| assert back_support.selection_mode == SelectionMode.MULTI | |
| def test_unknown_outcome_returns_none(): | |
| reg = DatasourceRegistry.from_knowledge_base() | |
| assert reg.get_option("nonexistent-outcome-key") is None | |