SPB Git forge

spb/countryatlas

Public
20commits 1branches 0releases
268.3 MBsize
maindefault branch
12 days agolast push
TypeScript 57% Python 38.6% JavaScript 3.6% CSS 0.6%
1.8 KB · 52 lines python
Raw Blame History
1from __future__ import annotations23from countryatlas import registry456def test_registry_loads() -> None:7    cs = registry.countries()8    assert len(cs) >= 2009    assert all(c.iso3 == c.id for c in cs)10    slugs = {c.slug for c in cs}11    assert len(slugs) == len(cs)12    inds = registry.indicators()13    assert len(inds) >= 20014    assert all(i.topic in registry.TOPICS for i in inds)15    gs = registry.groups_by_id()16    assert "world" in gs and len(gs["world"].members) == len(cs)17    assert "oecd" in gs and "CAN" in gs["oecd"].members181920def test_lookup_maps_codes() -> None:21    lk = registry.lookup()22    assert lk.from_iso3("CAN") == "CAN"23    assert lk.from_iso3("UNK") == "XKX"24    assert lk.from_iso3("WLD") is None25    assert lk.from_iso3("") is None26    assert lk.from_iso2("GB") == "GBR"27    assert lk.from_name("Viet Nam") == "VNM"282930def test_source_specs_filter() -> None:31    wb = registry.source_specs(connector="worldbank")32    assert wb and all(s.connector == "worldbank" for s in wb)33    one = registry.source_specs(indicator="gdp-per-capita")34    assert {s.indicator_id for s in one} == {"gdp-per-capita"}35    assert one[0].priority <= one[-1].priority363738def test_similarity_and_insights_registries_reference_known_indicators() -> None:39    from countryatlas.pipeline.insights import insight_templates40    from countryatlas.pipeline.similarity import similarity_config4142    known = set(registry.indicators_by_id())43    cfg = similarity_config()44    assert set(cfg["modes"]) == {"overall", "economic", "demographic", "energy", "social"}45    for spec in cfg["modes"].values():46        for f in spec["features"]:47            assert f["indicator"] in known, f48    assert len(cfg["dna"]) == 949    templates = insight_templates()50    assert len(templates) >= 1251    assert all(t["indicator"] in known for t in templates)52