123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171 |
- from pathlib import Path
- from unfccc_ghg_data.helper import downloaded_data_path_UNFCCC
- from unfccc_ghg_data.unfccc_crf_reader.unfccc_crf_reader_core import (
- filter_category,
- find_latest_version,
- get_country_folders,
- get_info_from_crf_filename,
- get_latest_date_for_country,
- get_latest_version_for_country,
- )
- def test_get_latest_date_for_country():
- # RUS CRF
- expected = "22082023"
- date = get_latest_date_for_country("RUS", 2023, submission_type="CRF")
- assert date == expected
- # AUS CRT
- expected = "12042024"
- date = get_latest_date_for_country("AUS", 1, submission_type="CRT")
- assert date == expected
- # RUS CRT
- expected = "20241220"
- date = get_latest_date_for_country("RUS", 1, submission_type="CRT")
- assert date == expected
- def test_get_latest_version_for_country():
- # AUS CRT
- expected = "V0.0"
- date = get_latest_version_for_country("AUS", 1)
- assert date == expected
- # RUS CRT
- expected = "V1.0"
- date = get_latest_version_for_country("RUS", 1)
- assert date == expected
- def test_find_latest():
- test_list = ["V0.01", "V0.3", "V0.2"]
- expected = "V0.3"
- version = find_latest_version(test_list)
- assert version == expected
- def test_get_info_from_crf_filename():
- # crf
- filename = "BLR_2021_1990_30032021_192048.xlsx"
- expected = {
- "party": "BLR",
- "submission_year": 2021,
- "data_year": 1990,
- "date": "30032021",
- "extra": "192048",
- }
- assert expected == get_info_from_crf_filename(filename)
- # crt
- filename = "GUY-CRT-2024-V0.3-1992-20240927-191031_started.xlsx"
- expected = {
- "party": "GUY",
- "submission_year": 2024,
- "data_year": 1992,
- "date": "20240927",
- "extra": "191031_started",
- "version": "V0.3",
- }
- assert expected == get_info_from_crf_filename(filename)
- def test_filter_category():
- # general
- map_gen = [["Option C (country-specific):"], ["\\IGNORE"], 4]
- assert filter_category(map_gen, "MOZ") == map_gen
- # country specific
- expected = [
- ["Other (as specified in table 3(I).A)"],
- ["3.A.1.C"],
- 5,
- ]
- expected_remove = [["\\REMOVE"], ["3.A.1.C"], 5]
- # exclude multiple
- map_excl_multiple = [
- ["\\C!-AUS-MLT-LUX-POL-SVN-USA\\ Other (as specified in table 3(I).A)"],
- ["3.A.1.C"],
- 5,
- ]
- assert filter_category(map_excl_multiple, "MOZ") == expected
- assert filter_category(map_excl_multiple, "MLT") == expected_remove
- # exclude single
- map_excl_single = [
- ["\\C!-AUS\\ Other (as specified in table 3(I).A)"],
- ["3.A.1.C"],
- 5,
- ]
- expected = [
- ["Other (as specified in table 3(I).A)"],
- ["3.A.1.C"],
- 5,
- ]
- expected_remove = [["\\REMOVE"], ["3.A.1.C"], 5]
- assert filter_category(map_excl_single, "MOZ") == expected
- assert filter_category(map_excl_single, "AUS") == expected_remove
- # include multiple
- map_incl_multiple = [
- ["\\C-AUS-NLD\\ Other (as specified in table 3(I).A)"],
- ["3.A.1.C"],
- 5,
- ]
- assert filter_category(map_incl_multiple, "MOZ") == expected_remove
- assert filter_category(map_incl_multiple, "AUS") == expected
- assert filter_category(map_incl_multiple, "NLD") == expected
- # include single
- map_incl_single = [
- ["\\C-AUS\\ Other (as specified in table 3(I).A)"],
- ["3.A.1.C"],
- 5,
- ]
- assert filter_category(map_incl_single, "MOZ") == expected_remove
- assert filter_category(map_incl_single, "AUS") == expected
- # multiple items
- map_incl_mult_items = [
- [
- "\\C-AUS\\ Other (as specified in table 3(I).A)",
- "\\C-NLD\\ Other (as specified in table 3(I).A)",
- ],
- ["3.A.1.C"],
- 5,
- ]
- assert filter_category(map_incl_mult_items, "MOZ") == expected_remove
- assert filter_category(map_incl_mult_items, "AUS") == expected
- def test_get_country_folders():
- # BTR1
- expected = [
- Path("Russian_Federation/BTR1"),
- Path("Australia/BTR1"),
- Path("Guyana/BTR1"),
- ]
- folders = get_country_folders(
- country_codes=["RUS", "AUS", "GUY"],
- submission_year=1,
- submission_type="CRT",
- )
- folders = [folder.relative_to(downloaded_data_path_UNFCCC) for folder in folders]
- assert expected == folders
- # CRF 2023
- expected = [
- Path("Russian_Federation/CRF2023"),
- Path("Australia/CRF2023"),
- Path("Germany/CRF2023"),
- ]
- folders = get_country_folders(
- country_codes=["RUS", "AUS", "DEU"],
- submission_year=2023,
- submission_type="CRF",
- )
- folders = [folder.relative_to(downloaded_data_path_UNFCCC) for folder in folders]
- assert expected == folders
|