File size: 1,526 Bytes
588aebe e5e9d87 588aebe | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
import pathlib
from services.ocean_batch import parse_ocean_batch_request
ROOT=pathlib.Path(__file__).resolve().parents[1]
def test_version_421():
assert (ROOT/"VERSION").read_text(encoding="utf-8").strip()=="4.3.0"
def test_exact_user_month_query_routes_to_batch():
p=parse_ocean_batch_request("查询 2002 年 8 月西北太平洋的 SST 数据,并导出为 CSV 文件供我下载")
assert p is not None
assert p["start_date"]=="2002-08-01"
assert p["end_date"]=="2002-08-31"
assert p["days"]==31
assert p["subtask_count"]==31
assert p["variables"]==["sst"]
assert p["format"]=="csv"
assert p["region_name"]=="西北太平洋"
assert p["region_source"]=="named_region_default"
assert p["bbox"]=={"lon_min":120.0,"lon_max":180.0,"lat_min":0.0,"lat_max":60.0}
def test_explicit_coordinates_override_named_region():
p=parse_ocean_batch_request("导出 2002年8月西北太平洋 130°E-140°E 20°N-30°N SST 为 CSV")
assert p is not None
assert p["bbox"]=={"lon_min":130.0,"lon_max":140.0,"lat_min":20.0,"lat_max":30.0}
assert p["region_source"]=="explicit_coordinates"
def test_single_day_remains_normal_export():
p=parse_ocean_batch_request("导出 2002-08-01 西北太平洋 SST 为 CSV")
assert p is None
def test_chat_fast_path_promises_no_single_day_reprompt():
rt=(ROOT/"services"/"chat_runtime.py").read_text(encoding="utf-8")
assert "不会再要求您补充某一天" in rt
assert "parse_ocean_batch_request(prompt)" in rt
|