Files
agentic-mobile-control/tests/test_semantic_models.py
T

27 lines
820 B
Python

from __future__ import annotations
from semantic.models import SemanticScene, SemanticWidget
def test_semantic_scene_round_trips_through_dict() -> None:
scene = SemanticScene(
page="Chat",
intents=["send a message", "open attachments"],
widgets=[
SemanticWidget(element_id="input", purpose="message text input"),
SemanticWidget(element_id="send", purpose="send message"),
],
)
restored = SemanticScene.from_dict(scene.to_dict())
assert restored == scene
assert restored.to_dict() == {
"page": "Chat",
"intents": ["send a message", "open attachments"],
"widgets": [
{"element_id": "input", "purpose": "message text input"},
{"element_id": "send", "purpose": "send message"},
],
}