def test_marker_from_config(): config = { AndMarker.positive_tag(): [ { SlotSetMarker.positive_tag(): "s1" }, { OrMarker.positive_tag(): [ { IntentDetectedMarker.positive_tag(): "4" }, { IntentDetectedMarker.negated_tag(): "6" }, ] }, ] } marker = Marker.from_config(config) assert isinstance(marker, AndMarker) assert isinstance(marker.sub_markers[0], SlotSetMarker) or_marker = marker.sub_markers[1] assert isinstance(or_marker, OrMarker) for sub_marker in or_marker.sub_markers: assert isinstance(sub_marker, ConditionMarker)
def test_marker_validation_raises(config: Any): with pytest.raises(InvalidMarkerConfig): Marker.from_config(config)