Bloom_Ware / tests /test_forward_geocode_ranking.py
LawrenceBai's picture
feat: overhaul MCP architecture with structured tool schemas, comprehensive care-mode skill definitions, and enhanced test coverage for pipelines and service integration.
79df050
Raw
History Blame Contribute Delete
2.04 kB
import pytest
from features.mcp.tools.location.geocoding_tool import ForwardGeocodeTool
@pytest.mark.asyncio
async def test_forward_geocode_prefers_poi_match_for_station_queries(monkeypatch):
async def fake_tdx(query):
return [
{
"lat": 25.0487,
"lon": 121.5143,
"display_name": "εΈ‚ζ°‘ε€§ι“ε°εŒ—εœ°δΈ‹θ‘—ε‡Ίε£Y12θ₯Ώι’",
"label": "ζ‘ƒεœ’ζ©Ÿε ΄ζ·ι‹ε°εŒ—θ»Šη«™_A1",
"importance": 1.0,
"name": "ζ‘ƒεœ’ζ©Ÿε ΄ζ·ι‹ε°εŒ—θ»Šη«™_A1",
"road": "",
"house_number": "",
"suburb": "",
"city_district": "",
"city": "",
"admin": "",
"postcode": "",
"amenity": "",
"shop": "",
"building": "",
"detailed_address": "εΈ‚ζ°‘ε€§ι“ε°εŒ—εœ°δΈ‹θ‘—ε‡Ίε£Y12θ₯Ώι’",
"_kind": "markname",
},
{
"lat": 25.1424,
"lon": 121.5066,
"display_name": "ε°εŒ—εΈ‚εŒ—ζŠ•ε€ι–‹ζ˜Žι‡Œη ζ΅·θ·―θ‡¨125δΉ‹2θ™Ÿ",
"label": "ε°εŒ—εΈ‚εŒ—ζŠ•ε€ι–‹ζ˜Žι‡Œη ζ΅·θ·―θ‡¨125δΉ‹2θ™Ÿ",
"importance": 1.0,
"name": "",
"road": "",
"house_number": "",
"suburb": "",
"city_district": "",
"city": "",
"admin": "",
"postcode": "",
"amenity": "",
"shop": "",
"building": "",
"detailed_address": "ε°εŒ—εΈ‚εŒ—ζŠ•ε€ι–‹ζ˜Žι‡Œη ζ΅·θ·―θ‡¨125δΉ‹2θ™Ÿ",
"_kind": "address",
},
]
monkeypatch.setattr(ForwardGeocodeTool, "_forward_geocode_tdx", fake_tdx)
result = await ForwardGeocodeTool.execute({"query": "ε°εŒ—θ»Šη«™", "limit": 1})
assert "ε°εŒ—θ»Šη«™" in result["best_match"]["label"]
assert result["best_match"]["lat"] == 25.0487