def test_get_region(code, name, stack_name_str, level, has_subregions): region = cnregion.get_region(code) assert region is not None assert region.code == code assert region.name == name assert "/".join([r.name for r in region.stack]) == stack_name_str assert region.level == level assert has_subregions == bool(list(region.get_subregions()))
def main(): china = cnregion.get_region('156000000000000') result = [generate_data(r) for r in china.children()] with open('base_3level_division.json', 'w') as f: s = simplejson.dumps(result, ensure_ascii=False, indent=2, sort_keys=True).encode('utf8') f.write(s)
def test_get_subregions(code, subregion_codes): region = cnregion.get_region(code) assert region is not None assert region.code == code assert sorted(subregion_codes) == sorted([r.code for r in region.get_subregions()])
def test_region_is_in_others(region_code1, region_codes): region1 = cnregion.get_region(region_code1) other_regions = [cnregion.get_region(code) for code in region_codes] assert region1.is_in_regions(other_regions)
def test_region_is_not_in_other(region_code1, region_code2): region1 = cnregion.get_region(region_code1) region2 = cnregion.get_region(region_code2) assert not region1.is_in_region(region2)
def test_get_region_failed(code): with pytest.raises(InvalidRegionException): cnregion.get_region(code)
def test_get_deprecated_region(): with open(os.path.join(os.path.dirname(__file__), "region_codes.txt")) as f: region_codes = f.read().splitlines() for code in region_codes: cnregion.get_region(code)
def test_jd_4level_code(code, result): region = cnregion.get_region(code) assert region.jd_4level_code == result
def test_get_china_provinces(china_province_codes): china = cnregion.get_region("156000000000000") assert sorted(china_province_codes) == sorted([r.code for r in china.get_subregions()])