forked from zhouruizhe/gmTouringMiniApp
Initial commit: gmTouringMiniApp project
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
from app.knowledge import KnowledgeBase
|
||||
from app.schemas import TravelPreferences
|
||||
|
||||
|
||||
def make_preferences(extra_requirements: str = "") -> TravelPreferences:
|
||||
return TravelPreferences(
|
||||
themes=["亲子"],
|
||||
duration="half_day",
|
||||
pace="relaxed",
|
||||
interests=["自然风光"],
|
||||
adults=2,
|
||||
children=1,
|
||||
child_ages=[3],
|
||||
transport="public_transport",
|
||||
budget_level="standard",
|
||||
extra_requirements=extra_requirements,
|
||||
)
|
||||
|
||||
|
||||
def test_retrieval_is_deterministic():
|
||||
knowledge = KnowledgeBase()
|
||||
first = [place["id"] for place in knowledge.retrieve(make_preferences())]
|
||||
second = [place["id"] for place in knowledge.retrieve(make_preferences())]
|
||||
assert first == second
|
||||
|
||||
|
||||
def test_avoid_climbing_excludes_high_intensity_places():
|
||||
knowledge = KnowledgeBase()
|
||||
result = knowledge.retrieve(make_preferences("带婴儿车,不爬山"))
|
||||
assert all(place["intensity"] != "high" for place in result)
|
||||
|
||||
Reference in New Issue
Block a user