Spaces:
Sleeping
Sleeping
File size: 968 Bytes
2e818da | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | from app.agents.d3.router import D3TemplateRouter, D3Selection
class _FakeClient:
def __init__(self, obj): self._obj = obj
def structured_complete(self, messages, schema, **kw): return self._obj
def test_router_picks_template():
r = D3TemplateRouter(client=_FakeClient(D3Selection(template_id="bar_chart")))
out = r.select("GDP by country", [{"source": "x", "text": "US 21, China 14"}], "graduate")
assert out.template_id == "bar_chart"
def test_router_never_declines_falls_back_on_unknown_template_id():
# The router never declines -- the student already asked for a chart. If the
# model returns a template id that doesn't exist in the catalog, fall back to
# a safe default instead of refusing.
r = D3TemplateRouter(client=_FakeClient(D3Selection(template_id="not_a_real_template")))
out = r.select("the nature of justice", [{"source": "x", "text": "philosophy"}], "graduate")
assert out.template_id == "bar_chart"
|