@@ -168,6 +168,127 @@ def test_get_countries_per_region(self):
168168 self .assertListEqual (out [2 ], [124 , 840 ])
169169 self .assertListEqual (out [3 ], ["CAN" , "USA" ])
170170
171+ def test_get_countries_per_region_all_or_none (self ):
172+ ifs = ImpfSetTropCyclone ()
173+ out = ifs .get_countries_per_region ()
174+ out2 = ifs .get_countries_per_region ("all" )
175+ self .assertEqual (out , out2 )
176+ self .assertDictEqual (
177+ out [0 ],
178+ {
179+ "NA1" : "Caribbean and Mexico" ,
180+ "NA2" : "USA and Canada" ,
181+ "NI" : "North Indian" ,
182+ "OC" : "Oceania" ,
183+ "SI" : "South Indian" ,
184+ "WP1" : "South East Asia" ,
185+ "WP2" : "Philippines" ,
186+ "WP3" : "China Mainland" ,
187+ "WP4" : "North West Pacific" ,
188+ "ROW" : "Rest of The World" ,
189+ },
190+ )
191+ self .assertDictEqual (
192+ out [1 ],
193+ {
194+ "NA1" : 1 ,
195+ "NA2" : 2 ,
196+ "NI" : 3 ,
197+ "OC" : 4 ,
198+ "SI" : 5 ,
199+ "WP1" : 6 ,
200+ "WP2" : 7 ,
201+ "WP3" : 8 ,
202+ "WP4" : 9 ,
203+ "ROW" : 10 ,
204+ },
205+ )
206+ # fmt: off
207+ self .assertDictEqual (out [2 ],
208+ {'NA1' : [
209+ 533 , 660 , 32 , 28 , 44 , 84 , 60 , 68 , 52 , 152 , 170 , 132 , 188 , 192 ,
210+ 136 , 212 , 214 , 218 , 238 , 312 , 308 , 320 , 254 , 328 , 340 , 332 ,
211+ 388 , 659 , 662 , 484 , 500 , 474 , 558 , 591 , 604 , 630 , 600 , 654 ,
212+ 222 , 740 , 534 , 796 , 780 , 858 , 670 , 862 , 92 , 850
213+ ],
214+ 'NA2' : [124 , 840 ],
215+ 'NI' : [
216+ 4 , 784 , 51 , 31 , 50 , 48 , 64 , 262 , 232 , 231 , 268 , 356 , 364 ,
217+ 368 , 376 , 400 , 398 , 417 , 414 , 422 , 144 , 462 , 104 , 496 ,
218+ 524 , 512 , 586 , 634 , 682 , 706 , 760 , 762 , 795 , 800 , 860 , 887
219+ ],
220+ 'OC' : [
221+ 16 , 36 , 184 , 242 , 583 , 316 , 296 , 584 , 580 , 540 , 574 ,
222+ 570 , 520 , 554 , 612 , 585 , 598 , 258 , 90 , 772 , 626 , 776 ,
223+ 798 , 548 , 876 , 882
224+ ],
225+ 'SI' : [
226+ 180 , 174 , 450 , 466 , 508 , 480 , 454 , 748 , 834 , 710 , 716
227+ ],
228+ 'WP1' : [116 , 360 , 418 , 458 , 764 , 704 ],
229+ 'WP2' : [608 ],
230+ 'WP3' : [156 ],
231+ 'WP4' : [344 , 392 , 410 , 446 , 158 ],
232+ 'ROW' : [
233+ 24 , 248 , 8 , 20 , 10 , 260 , 40 , 108 , 56 , 204 , 535 , 854 ,
234+ 100 , 70 , 652 , 112 , 76 , 96 , 74 , 72 , 140 , 166 , 756 , 384 ,
235+ 120 , 178 , 531 , 162 , 196 , 203 , 276 , 208 , 12 , 818 , 732 ,
236+ 724 , 233 , 246 , 250 , 234 , 266 , 826 , 831 , 288 , 292 , 324 ,
237+ 270 , 624 , 226 , 300 , 304 , 334 , 191 , 348 , 833 , 86 , 372 ,
238+ 352 , 380 , 832 , 404 , 430 , 434 , 438 , 426 , 440 , 442 , 428 ,
239+ 663 , 504 , 492 , 498 , 807 , 470 , 499 , 478 , 175 , 516 , 562 ,
240+ 566 , 528 , 578 , 616 , 408 , 620 , 275 , 638 , 642 , 643 , 646 ,
241+ 729 , 686 , 702 , 239 , 744 , 694 , 674 , 666 , 688 , 728 , 678 ,
242+ 703 , 705 , 752 , 690 , 148 , 768 , 788 , 792 , 804 , 581 , 336 ,
243+ 983 , 894
244+ ]})
245+
246+ self .assertDictEqual (out [3 ],
247+ {
248+ "NA1" : [
249+ "ABW" , "AIA" , "ARG" , "ATG" , "BHS" , "BLZ" , "BMU" , "BOL" , "BRB" , "CHL" , "COL" ,
250+ "CPV" , "CRI" , "CUB" , "CYM" , "DMA" , "DOM" , "ECU" , "FLK" , "GLP" , "GRD" , "GTM" ,
251+ "GUF" , "GUY" , "HND" , "HTI" , "JAM" , "KNA" , "LCA" , "MEX" , "MSR" , "MTQ" , "NIC" ,
252+ "PAN" , "PER" , "PRI" , "PRY" , "SHN" , "SLV" , "SUR" , "SXM" , "TCA" , "TTO" , "URY" ,
253+ "VCT" , "VEN" , "VGB" , "VIR" ,
254+ ],
255+ "NA2" : ["CAN" , "USA" ],
256+ "NI" : [
257+ "AFG" , "ARE" , "ARM" , "AZE" , "BGD" , "BHR" , "BTN" , "DJI" , "ERI" , "ETH" , "GEO" ,
258+ "IND" , "IRN" , "IRQ" , "ISR" , "JOR" , "KAZ" , "KGZ" , "KWT" , "LBN" , "LKA" , "MDV" ,
259+ "MMR" , "MNG" , "NPL" , "OMN" , "PAK" , "QAT" , "SAU" , "SOM" , "SYR" , "TJK" , "TKM" ,
260+ "UGA" , "UZB" , "YEM" ,
261+ ],
262+ "OC" : [
263+ "ASM" , "AUS" , "COK" , "FJI" , "FSM" , "GUM" , "KIR" , "MHL" , "MNP" , "NCL" , "NFK" ,
264+ "NIU" , "NRU" , "NZL" , "PCN" , "PLW" , "PNG" , "PYF" , "SLB" , "TKL" , "TLS" , "TON" ,
265+ "TUV" , "VUT" , "WLF" , "WSM" ,
266+ ],
267+ "SI" : [
268+ "COD" , "COM" , "MDG" , "MLI" , "MOZ" , "MUS" , "MWI" , "SWZ" , "TZA" , "ZAF" , "ZWE" ,
269+ ],
270+ "WP1" : ["KHM" , "IDN" , "LAO" , "MYS" , "THA" , "VNM" ],
271+ "WP2" : ["PHL" ],
272+ "WP3" : ["CHN" ],
273+ "WP4" : ["HKG" , "JPN" , "KOR" , "MAC" , "TWN" ],
274+ "ROW" : [
275+ "AGO" , "ALA" , "ALB" , "AND" , "ATA" , "ATF" , "AUT" , "BDI" , "BEL" , "BEN" , "BES" ,
276+ "BFA" , "BGR" , "BIH" , "BLM" , "BLR" , "BRA" , "BRN" , "BVT" , "BWA" , "CAF" , "CCK" ,
277+ "CHE" , "CIV" , "CMR" , "COG" , "CUW" , "CXR" , "CYP" , "CZE" , "DEU" , "DNK" , "DZA" ,
278+ "EGY" , "ESH" , "ESP" , "EST" , "FIN" , "FRA" , "FRO" , "GAB" , "GBR" , "GGY" , "GHA" ,
279+ "GIB" , "GIN" , "GMB" , "GNB" , "GNQ" , "GRC" , "GRL" , "HMD" , "HRV" , "HUN" , "IMN" ,
280+ "IOT" , "IRL" , "ISL" , "ITA" , "JEY" , "KEN" , "LBR" , "LBY" , "LIE" , "LSO" , "LTU" ,
281+ "LUX" , "LVA" , "MAF" , "MAR" , "MCO" , "MDA" , "MKD" , "MLT" , "MNE" , "MRT" , "MYT" ,
282+ "NAM" , "NER" , "NGA" , "NLD" , "NOR" , "POL" , "PRK" , "PRT" , "PSE" , "REU" , "ROU" ,
283+ "RUS" , "RWA" , "SDN" , "SEN" , "SGP" , "SGS" , "SJM" , "SLE" , "SMR" , "SPM" , "SRB" ,
284+ "SSD" , "STP" , "SVK" , "SVN" , "SWE" , "SYC" , "TCD" , "TGO" , "TUN" , "TUR" , "UKR" ,
285+ "UMI" , "VAT" , "XKO" , "ZMB" ,
286+ ],
287+ }
288+ )
289+
290+ # fmt: on
291+
171292 def test_get_imf_id_regions_per_countries (self ):
172293 """Test get_impf_id_regions_per_countries()"""
173294 ifs = ImpfSetTropCyclone ()
0 commit comments