# frozen_string_literal: true
require 'validates_zipcode'

TEST_DATA = {
  GB: {
    valid: [
      'ID1 1QD',
      'M32 0JG',
      'NE30 1DP',
      'OX49 5NU',
      'SW1A 2AA',
      'W1K 7DA',
      'id1 1qd',
      'Sw1A 2aA',
      'id11qd',
      'SW1A2AA'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'nope',
      'id11qd1000',
      '28001'
    ]
  },
  UK: {
    valid: [
      'ID1 1QD',
      'M32 0JG',
      'NE30 1DP',
      'OX49 5NU',
      'SW1A 2AA',
      'W1K 7DA',
      'id1 1qd',
      'Sw1A 2aA',
      'id11qd',
      'SW1A2AA'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'nope',
      'id11qd1000',
      '28001'
    ]
  },
  JE: {
    valid: [
      'JE1 1QD',
      'JE32 0JG',
      'JE30 1DP',
      'JE49 5NU',
      'je1 2aA'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'nope',
      'id11qd1000',
      '28001'
    ]
  },
  GG: {
    valid: [
      'GY1 1QD',
      'GY32 0JG',
      'GY30 1DP',
      'GY49 5NU',
      'gy1 2aA'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'nope',
      'id11qd1000',
      '28001'
    ]
  },
  IM: {
    valid: [
      'IM1 1QD',
      'IM32 0JG',
      'IM30 1DP',
      'IM49 5NU',
      'im1 2aA'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'nope',
      'id11qd1000',
      '28001'
    ]
  },
  US: {
    valid: [
      12_345,
      '12345',
      '12345-1234',
      '12345-123456',
      '12345 1234',
      '12345 123456'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  IE: {
    valid: [
      'D02 AF30',
      'X91 PK81',
      'V94 H2PP',
      'D07 R6YE',
      'D6W1234',
      'A230984',
      'D00AV92',
      'Y631FHK',
      'A000000',
      'D44N4X4'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345'
    ]
  },
  CA: {
    valid: [
      'A1J2Z9',
      'P5R3E3',
      'S9G 6S0',
      'V8G3K9'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'C1424CHN',
      '12345',
      'D0D0D0'
    ]
  },
  DE: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  AU: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  IT: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  CH: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  AT: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  ES: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  NL: {
    valid: [
      '1001 AA',
      '6388SW',
      '7144SX',
      '1001 AA'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '0100 AA',
      '1001 SS',
      '1111 SD',
      '1001 SA',
      '1001 aa',
      '6388sW'
    ]
  },
  BE: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  DK: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  NO: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  FI: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  AX: {
    valid: %w[
      22113
      22566
      22261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '07113',
      '2234',
      '22113-22113',
      'D0D0D0'
    ]
  },
  KR: {
    valid: [
      '72315',
      '723-150',
      '11011',
      '110-110'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '723155'
    ]
  },
  CN: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  SG: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  DZ: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  AD: {
    valid: %w[
      AD113
      AD566
      AD261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AD34',
      'AD113-AD113',
      'D0D0D0'
    ]
  },
  AR: {
    valid: %w[
      C1234CHN
      C1234
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'I1234'
    ]
  },
  AM: {
    valid: %w[
      375010
      0010
      1234
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '123456'
    ]
  },
  BD: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  BB: {
    valid: %w[
      BB12345
      BB20000
      BB15156667
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'XY12345',
      'BB54837'
    ]
  },
  BY: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  BM: {
    valid: [
      'ABCD',
      'AB12',
      'AB CD',
      'AB 12'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'ABC 12',
      '1234',
      '12 34'
    ]
  },
  BA: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  BN: {
    valid: [
      'BC1234',
      'KX 1234',
      'TC1234'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'XC1234',
      'XC 1234'
    ]
  },
  BG: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  KH: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  CV: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  CL: {
    valid: [
      '123-1233',
      '000-0000',
      '1234567'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345',
      'C1424CHN',
      '122-12345'
    ]
  },
  HR: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  CY: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  CZ: {
    valid: [
      '12000',
      '721 00'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '981 32'
    ]
  },
  DO: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  EC: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  EE: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  FO: {
    valid: %w[
      711
      256
      626
      711
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '123-123',
      'D0D0D0'
    ]
  },
  GE: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  GL: {
    valid: %w[
      3900
      3973
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234'
    ]
  },
  GT: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  HT: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  HU: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  IS: {
    valid: %w[
      711
      256
      626
      711
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '123-123',
      'D0D0D0'
    ]
  },
  IN: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  ID: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  IL: {
    valid: %w[
      12345
      1234567
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '123456'
    ]
  },
  JO: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  KZ: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  KE: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  KW: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  LA: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  LU: {
    valid: [
      'L-5635',
      'L5635',
      '5635'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '124',
      '-1234'
    ]
  },
  MK: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  MY: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  MV: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  MT: {
    valid: [
      'IDA 1234',
      'idA 1234',
      'idA1234'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'nope',
      'MX92XP',
      'MX9 1234'
    ]
  },
  MU: {
    valid: %w[
      42602
      A2101
      r6414
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '05678',
      'B4242'
    ]
  },
  MX: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  MA: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  NZ: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  NI: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  NG: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  OM: {
    valid: [
      '123',
      'PC 123',
      '847',
      'PC 847'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12',
      '1234',
      'PC123'
    ]
  },
  PK: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  PY: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  PH: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  PL: {
    valid: [
      '12-345',
      '12 345',
      '12345',
      '54-321'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '123456',
      '123-45',
      '12-3456',
      '12-34'
    ]
  },
  PR: {
    valid: [
      '00731',
      '00690',
      '00690-4321',
      '00731-1234',
      '00731 1234'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '12345-1234',
      '12345 1234'
    ]
  },
  RO: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  RU: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  SM: {
    valid: %w[
      47890
      47895
      47899
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345'
    ]
  },
  SA: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  SN: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  SI: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  ZA: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  LK: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  TJ: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  TH: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  TN: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  TR: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  TM: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  UA: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  UZ: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  VA: {
    valid: %w[
      00120
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345'
    ]
  },
  VE: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  ZM: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  AS: {
    valid: %w[
      96799
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234'
    ]
  },
  CC: {
    valid: %w[
      6799
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234'
    ]
  },
  CK: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  RS: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  CS: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  YU: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  CX: {
    valid: %w[
      6798
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234'
    ]
  },
  ET: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  FK: {
    valid: [
      'FIQQ 1ZZ',
      'FIQQ1ZZ'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'XY1 5SJ'
    ]
  },
  NF: {
    valid: %w[
      2899
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234'
    ]
  },
  FM: {
    valid: [
      '96942',
      '96942-1234',
      '96942 1234'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345'
    ]
  },
  GF: {
    valid: %w[
      97321
      97347
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345'
    ]
  },
  GP: {
    valid: %w[
      97139
      97160
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345'
    ]
  },
  GS: {
    valid: [
      'SIQQ 1ZZ',
      'SIQQ1ZZ'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'XY1 5SJ'
    ]
  },
  GU: {
    valid: [
      '96910',
      '96916',
      '96920',
      '96929',
      '96932',
      '96920-1234',
      '96920 1234'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '96940',
      '96942'
    ]
  },
  GW: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  HM: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  IQ: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  KG: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  LR: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  LS: {
    valid: %w[
      711
      256
      626
      711
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '123-123',
      'D0D0D0'
    ]
  },
  MG: {
    valid: %w[
      711
      256
      626
      711
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '123-123',
      'D0D0D0'
    ]
  },
  MN: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  MP: {
    valid: [
      '96950',
      '96951',
      '96952',
      '96952-1234',
      '96952 1234'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '96959',
      '96952-12345'
    ]
  },
  MQ: {
    valid: %w[
      97216
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345'
    ]
  },
  NC: {
    valid: %w[
      98814
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345'
    ]
  },
  NE: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  PF: {
    valid: %w[
      98730
      98733
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345'
    ]
  },
  PG: {
    valid: %w[
      711
      256
      626
      711
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '123-123',
      'D0D0D0'
    ]
  },
  PM: {
    valid: %w[
      97500
      97502
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345'
    ]
  },
  PN: {
    valid: [
      'PCRN 1ZZ',
      'PCRN1ZZ'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'XY1 5SJ'
    ]
  },
  PW: {
    valid: %w[
      96940
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345'
    ]
  },
  RE: {
    valid: %w[
      97419
      97400
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '97764',
      '97885',
      '97119',
      '98419'
    ]
  },
  SH: {
    valid: [
      'ASCN 1ZZ',
      'ASCN1ZZ',
      'STHL 1ZZ',
      'STHL1ZZ',
      'TDCU 1ZZ',
      'TDCU1ZZ'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'XY1 5SJ'
    ]
  },
  SJ: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  SZ: {
    valid: %w[
      H113
      L566
      M261
      S261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'HM113',
      'L34',
      'H113-H113',
      'D0D0D0'
    ]
  },
  TC: {
    valid: [
      'TKCA 1ZZ',
      'TKCA1ZZ'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'XY1 5SJ'
    ]
  },
  WF: {
    valid: %w[
      98613
      98666
      98661
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '98666-98666',
      '12345',
      'D0D0D0'
    ]
  },
  XK: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  YT: {
    valid: %w[
      97613
      97666
      97661
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '97666-97666',
      '12345',
      'D0D0D0'
    ]
  },
  AF: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  AL: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  AG: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  AO: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  BF: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  BI: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  BS: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  BZ: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  BR: {
    valid: [
      '58397-000',
      '58915-000',
      '58763000',
      '58935-000',
      '12345678'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '123456789'
    ]
  },
  BJ: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  BT: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  BQ: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  BO: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  BW: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  CF: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  CG: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  CI: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  CO: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  CR: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  CU: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  KM: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  DJ: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  DM: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  EG: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  GQ: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  EL: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  ER: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  FJ: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  FR: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  GA: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  GD: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  GH: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  GM: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  GN: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  GI: {
    valid: [
      'GX11 1AA',
      'GX111AA'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'XY1 5SJ'
    ]
  },
  GR: {
    valid: [
      '048 80',
      '50039',
      '67183'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '123456'
    ]
  },
  GY: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  HN: {
    valid: %w[
      BV2722
      XY1234
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'B2722',
      'XY12345',
      'XY123'
    ]
  },
  IO: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  IR: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  JP: {
    valid: [
      '1029200',
      '102-9200',
      '408-0301',
      '207-1000'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1200'
    ]
  },
  JM: {
    valid: [
      nil,
      '',
      '00',
      'JMDEH01',
      'JMCJS10',
      'JMDWD08',
      'JMCAN20',
      'JMDCN29'
    ],
    invalid: %w[
      invalid_zip
      JMDEH00
      JMDWD30
      JMDWD31
      JMDCN91
      JMXYZ05
    ]
  },
  KI: {
    valid: %w[
      KI0111
      KI0222
      KI0333
    ],
    invalid: [
      nil,
      '',
      'KI0000',
      'KI0444',
      'KI2181',
      'KI6376',
      'KI4702',
      'invalid_zip',
      'KI281',
      'KI63726',
      'IK4702'
    ]
  },
  KN: {
    valid: %w[
      KN2181
      KN6376
      KN4702
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'KN281',
      'KN63726',
      'NK4702'
    ]
  },
  KP: {
    valid: %w[
      123
      ABC
      12345678
      123sd678
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12',
      'AB',
      '123456789',
      '12f3sd678'
    ]
  },
  LI: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  LV: {
    valid: [
      'LV-1234',
      'LV-8735',
      '8735'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'LV-12345',
      'LV-123',
      'L-1234',
      '123'
    ]
  },
  LY: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  LT: {
    valid: [
      'LT-00110',
      'LT 00110',
      'LT21006',
      '00110'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'LT-2100',
      '2100'
    ]
  },
  LC: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  MC: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  MD: {
    valid: %w[
      MD2001
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'MD-2100'
    ]
  },
  ME: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  MH: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  MR: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  MM: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  MW: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  MZ: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  NA: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  NP: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  NR: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  PT: {
    valid: [
      '4500',
      '4500-250'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '4500-2500'
    ]
  },
  PS: {
    valid: %w[
      711
      256
      626
      711
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '123-123',
      'D0D0D0'
    ]
  },
  PA: {
    valid: %w[
      7113
      2566
      6261
      7113
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '1234-1234',
      'D0D0D0'
    ]
  },
  PE: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  QA: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  RW: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  SC: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  SE: {
    valid: [
      '048 80',
      '50039',
      '67183'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '123456'
    ]
  },
  SK: {
    valid: [
      '83102',
      '911 05',
      '094 12'
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '120 00'
    ]
  },
  SL: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  SB: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  SR: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  SO: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  SV: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  SD: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  ST: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  SY: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  SS: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  TD: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  TG: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  TO: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  TZ: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  TT: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  TW: {
    valid: %w[
      833
      74144
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '4329'
    ]
  },
  UG: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  UM: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  UY: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  VC: {
    valid: %w[
      VC2181
      VC6376
      VC4702
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'VC281',
      'VC63726',
      'CV4702'
    ]
  },
  VI: {
    valid: %w[
      07113
      02566
      66261
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '1234',
      '12345-12345',
      'D0D0D0'
    ]
  },
  VG: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  VN: {
    valid: %w[
      071134
      025663
      662612
      071135
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      '12345',
      '123456-123456',
      'D0D0D0'
    ]
  },
  VU: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  WS: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  YE: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  },
  ZW: {
    valid: %w[
      42511
      AZ42511
      XY12Z
      A12
      123
      ABC
    ],
    invalid: [
      nil,
      '',
      'invalid_zip',
      'AB',
      '12'
    ]
  }
}.freeze
