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