1 module iban.testdata;
2 
3 package string[] valid = [
4     "AL47 2121 1009 0000 0002 3569 8741",  // Albania
5     "AD12 0001 2030 2003 5910 0100",  // Andorra
6     "AT61 1904 3002 3457 3201",  // Austria
7     "AZ21 NABZ 0000 0000 1370 1000 1944",  // Republic of Azerbaijan
8     "BH67 BMAG 0000 1299 1234 56",  // Bahrain (Kingdom of)
9     "BE68 5390 0754 7034",  // Belgium
10     "BA39 1290 0794 0102 8494",  // Bosnia and Herzegovina
11     "BR97 0036 0305 0000 1000 9795 493P 1",  // Brazil
12     "BR18 0000 0000 1414 5512 3924 100C 2",  // Brazil
13     "BG80 BNBG 9661 1020 3456 78",  // Bulgaria
14     "CR05 0152 0200 1026 2840 66",  // Costa Rica
15     "HR12 1001 0051 8630 0016 0",  // Croatia
16     "CY17 0020 0128 0000 0012 0052 7600",  // Cyprus
17     "CZ65 0800 0000 1920 0014 5399",  // Czech Republic
18     "CZ94 5500 0000 0010 1103 8930",  // Czech Republic
19     "DK50 0040 0440 1162 43",  // Greenland
20     "FO62 6460 0001 6316 34",  // Faroer
21     "GL89 6471 0001 0002 06",  // Denmark
22     "DO28 BAGR 0000 0001 2124 5361 1324",  // Dominican Republic
23     "EE38 2200 2210 2014 5685",  // Estonia
24     "FI21 1234 5600 0007 85",  // Finland
25     "FR14 2004 1010 0505 0001 3M02 606",  // France
26     "GE29 NB00 0000 0101 9049 17",  // Georgia
27     "DE89 3704 0044 0532 0130 00",  // Germany
28     "GI75 NWBK 0000 0000 7099 453",  // Gibraltar
29     "GR16 0110 1250 0000 0001 2300 695",  // Greece
30     "GT82 TRAJ 0102 0000 0012 1002 9690",  // Guatemala
31     "HU42 1177 3016 1111 1018 0000 0000",  // Hungary
32     "IS14 0159 2600 7654 5510 7303 39",  // Iceland
33     "IE29 AIBK 9311 5212 3456 78",  // Ireland
34     "IL62 0108 0000 0009 9999 999",  // Israel
35     "IT60 X054 2811 1010 0000 0123 456",  // Italy
36     "JO94 CBJO 0010 0000 0000 0131 0003 02",  // Jordan
37     "KZ86 125K ZT50 0410 0100",  // Kazakhstan
38     "XK05 1212 0123 4567 8906",  // Republic of Kosovo
39     "KW81 CBKU 0000 0000 0000 1234 5601 01",  // Kuwait
40     "LV80 BANK 0000 4351 9500 1",  // Latvia
41     "LB62 0999 0000 0001 0019 0122 9114",  // Lebanon
42     "LI21 0881 0000 2324 013A A",  // Liechtenstein (Principality of)
43     "LT12 1000 0111 0100 1000",  // Lithuania
44     "LU28 0019 4006 4475 0000",  // Luxembourg
45     "MK07 2501 2000 0058 984",  // Macedonia, Former Yugoslav Republic of
46     "MT84 MALT 0110 0001 2345 MTLC AST0 01S",  // Malta
47     "MR13 0002 0001 0100 0012 3456 753",  // Mauritania
48     "MU17 BOMM 0101 1010 3030 0200 000M UR",  // Mauritius
49     "MD24 AG00 0225 1000 1310 4168",  // Moldova
50     "MC58 1122 2000 0101 2345 6789 030",  // Monaco
51     "ME25 5050 0001 2345 6789 51",  // Montenegro
52     "NL91 ABNA 0417 1643 00",  // The Netherlands
53     "NO93 8601 1117 947",  // Norway
54     "PK36 SCBL 0000 0011 2345 6702",  // Pakistan
55     "PS92 PALS 0000 0000 0400 1234 5670 2",  // Palestine, State of
56     "PL61 1090 1014 0000 0712 1981 2874",  // Poland
57     "PT50 0002 0123 1234 5678 9015 4",  // Portugal
58     "QA58 DOHB 0000 1234 5678 90AB CDEF G",  // Qatar
59     "RO49 AAAA 1B31 0075 9384 0000",  // Romania
60     // 'LC62 HEMM 0001 0001 0012 0012 0002 3015',  // Saint Lucia
61     "SM86 U032 2509 8000 0000 0270 100",  // San Marino
62     "ST68 0001 0001 0051 8453 1011 2",  // Sao Tome And Principe
63     "SA03 8000 0000 6080 1016 7519",  // Saudi Arabia
64     "RS35 2600 0560 1001 6113 79",  // Serbia
65     // 'SC25 SSCB1101 0000 0000 0000 1497 USD',    // Seychelles
66     "SK31 1200 0000 1987 4263 7541",  // Slovak Republic
67     "SI56 1910 0000 0123 438",  // Slovenia
68     "ES91 2100 0418 4502 0005 1332",  // Spain
69     "SE45 5000 0000 0583 9825 7466",  // Sweden
70     "CH93 0076 2011 6238 5295 7",  // Switzerland
71     "TL38 0080 0123 4567 8910 157",  // Timor-Leste
72     "TN59 1000 6035 1835 9847 8831",  // Tunisia
73     "TR33 0006 1005 1978 6457 8413 26",  // Turkey
74     "UA21 3996 2200 0002 6007 2335 6600 1",  // Ukraine
75     "AE07 0331 2345 6789 0123 456",  // United Arab Emirates
76     "GB29 NWBK 6016 1331 9268 19",  // United Kingdom
77     "VG96 VPVG 0000 0123 4567 8901",  // Virgin Islands, British
78     "BY13 NBRB 3600 9000 0000 2Z00 AB00",  // Republic of Belarus
79     "SV62 CENR 0000 0000 0000 0070 0025",  // El Salvador
80     "FO62 6460 0001 6316 34",  // Faroe Islands
81     "GL89 6471 0001 0002 06",  // Grenland
82     "IQ98 NBIQ 8501 2345 6789 012",  // Iraq
83 ];
84 
85 package string[] invalid = [
86     "DE89 3704 0044 0532 0130",  // Too short
87     "DE89 3704 0044 0532 0130 0000",  // Too long
88     "GB96 BARC 2020 1530 0934 591",  // Too long
89     "XX89 3704 0044 0532 0130 00",  // Wrong country-code
90     "DE99 3704 0044 0532 0130 00",  // Wrong check digits
91     "DEAA 3704 0044 0532 0130 00",  // Wrong format (check digits)
92     "GB2L ABBY 0901 2857 2017 07",  // Wrong format (check digits)
93     "DE89 AA04 0044 0532 0130 00",  // Wrong format (country specific)
94     "GB12 BARC 2020 1530 093A 59",  // Wrong account format (country specific)
95     "GB01 BARC 2071 4583 6083 87",  // Wrong checksum digits
96     "GB00 HLFX 1101 6111 4553 65",  // Wrong checksum digits
97     "GB94 BARC 2020 1530 0934 59",  // Wrong checksum digits
98 ];