PawTrace / backend /tests /test_geo.py
Elliott Duke
HomingPet: lost-dog reunification (FastAPI + React) with Render deploy
de1e3fc
Raw
History Blame Contribute Delete
813 Bytes
from app.services.geo import GeoService
def _geo():
import os
return GeoService(os.environ["ZIP_CENTROID_FILE"])
def test_distance_close_zips_small():
g = _geo()
# Two Manhattan ZIPs should be only a few miles apart.
d = g.distance_miles("10001", "10002")
assert d is not None and d < 5
def test_distance_coast_to_coast_large():
g = _geo()
d = g.distance_miles("20001", "94103") # DC -> SF
assert d is not None and d > 2000
def test_within_radius_levels():
g = _geo()
assert g.within_radius("20001", "20002", 10) is True
assert g.within_radius("20001", "98101", 25) is False
assert g.within_radius("20001", "98101", -1) is True # nationwide
def test_unknown_zip_fails_open():
g = _geo()
assert g.within_radius("20001", "00000", 10) is True