File size: 730 Bytes
72606cb | 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 | from backend.database import AirQualityDatabase
def test_real_dataset_loads_and_answers_a_city_ranking():
database = AirQualityDatabase()
database.initialize()
stats = database.stats()
assert stats["ready"] is True
assert stats["records"] > 100_000
assert stats["cities"] > 100
columns, rows, truncated = database.execute(
"""
SELECT city, ROUND(AVG(pm25), 2) AS avg_pm25
FROM air_quality
WHERE year = 2023 AND pm25 IS NOT NULL
GROUP BY city
ORDER BY avg_pm25 DESC
LIMIT 10
"""
)
assert columns == ["city", "avg_pm25"]
assert len(rows) == 10
assert isinstance(rows[0]["avg_pm25"], float)
assert truncated is False
|