use vars qw(@testcases);
@testcases = (
# M007
[ 'ismn', 'M-345-24680-5', 'M-345-24680', '5',
'M-345-24689-0' ],
# M011
[ 'upc', '012345678905', '01234567890', '5',
'012345678901' ],
# M012
[ 'sedol', '0123457', '012345', '7',
'0123456' ],
[ 'sedol', 'B0YBLH2', 'B0YBLH', '2',
'B0YBLH3' ],
# M013
[ 'postcheckkonti', '85-12345678-7', '85-12345678-', '7',
'85-12345678-9' ],
# M014
[ 'isbn', '3-88229-192-3', '3-88229-192-', '3',
'3-88229-192-0' ],
[ 'issn', '0724-8679', '0724-867', '9',
'0724-8870' ],
[ 'ustid_pt', '136695973', '13669597', '3',
'136695970' ],
[ 'hkid', 'K1234560', 'K123456', '0',
'K1234567' ],
[ 'wagonnr_br', '123456-1', '123456-', '1',
'123456-7' ],
[ 'nhs_gb', '3882291850', '388229185', '0',
'3882291851' ],
[ 'vat_sl', '59082437', '5908243', '7',
'59082432' ],
# M015
[ 'pzn', '4877800', '487780', '0',
'4877801' ],
# MBase-002
[ 'blutbeutel', '2761011234567893', '276101123456789', '3',
'2761011234567890' ],
[ 'blutbeutel', '02', '0', '2', '01' ],
[ 'blutbeutel', '19', '1', '9', '10' ],
[ 'blutbeutel', '60', '6', '0', '61' ],
[ 'blutbeutel', '94', '9', '4', '90' ],
[ 'blutbeutel', '08235', '0823', '5',
'08234' ],
[ 'blutbeutel', '2766169732125615', '276616973212561', '5',
'2766169732125610' ],
[ 'bzue_de', '9433463951409', '943346395140', '9',
'9433463951400' ],
[ 'ustid_de', '136 695 976', '136 695 97', '6',
'136 695 970' ],
# MBase-003
[ 'sici', '0724-8679(20040308)6:<138>2.0.TX;2-H',
'0724-8679(20040308)6:<138>2.0.TX;2-', 'H',
'0724-8679(20040308)6:<138>2.0.TX;2-A',
],
# M07-001
[ 'm07-001', '0', '', '0',
'1' ],
[ 'm07-001', '1234567892', '123456789', '2',
'1234567890' ],
# M09-001
[ 'euronote', 'X03854465012', 'X0385446501', '2',
'X03854465010' ],
[ 'euronote', 'P02044163566', 'P0204416356', '6',
'P02044163560' ],
# M10-001
[ 'amex', '3400 000000 00009', '3400 000000 0000', '9',
'3400 000000 00000' ],
[ 'diners', '3000 0000 0000 04', '3000 0000 0000 0', '4',
'3000 0000 0000 00' ],
[ 'diners', '3600 0000 0000 08', '3600 0000 0000 0', '8',
'3600 0000 0000 00' ],
[ 'discover', '6011 0000 0000 0004', '6011 0000 0000 000', '4',
'6011 0000 0000 0000' ],
[ 'enroute', '2014 0000 0000 009', '2014 0000 0000 00', '9',
'2014 0000 0000 000' ],
[ 'jcb', '3088 0000 0000 0009', '3088 0000 0000 000', '9',
'3038 0000 0000 0001' ],
[ 'mastercard', '5500 0000 0000 0004', '5500 0000 0000 000', '4',
'5500 0000 0000 0000' ],
[ 'visa', '4111 1111 1111 1111', '4111 1111 1111 111', '1',
'4111 1111 1111 1110' ],
[ 'isin', 'DE0005557508', 'DE000555750', '8',
'DE0005557509' ],
[ 'cusip', '023135106', '02313510', '6', '023135107' ],
[ 'cusip', '037833100', '03783310', '0', '03783310B' ],
[ 'cusip', 'G8572F100', 'G8572F10', '0', 'G8572F101' ],
[ 'cusip', '392690QT3', '392690QT', '3', '0378#3100' ],
[ 'cusip', 'Y8295N109', 'Y8295N10', '9', 'Y8295N103' ],
# M10-002
# the test number from www.pruefziffernberechnung.de seems to be
# invalid
# [ 'siret', '12345678200787', '1234567820078', '7' ],
[ 'siren', '732 829 320', '732 829 32', '0',
'732 829 321' ],
[ 'siret', '73282932000074', '7328293200007', '4',
'73282932000070' ],
# M10-004
[ 'ean', '7622200004607', '762220000460', '7',
'7622200004600' ],
[ 'isbn13', '9783492233163', '978349223316', '3',
'9783492233160' ],
[ '2aus5', '1234565', '123456', '5',
'1234567' ],
[ 'isbn13', '9783882291858', '978388229185', '8',
'9783882291851' ],
# M10-005
[ 'identcode_dp', '21.802 580.906 6', '21.802 580.906 ', '6',
'21.802 580.906 0' ],
# M10-006
[ 'rentenversicherung', '65180539W001', '65180539W00', '1',
'65180539W000' ],
# M10-009
[ 'betriebsnummer', '09912342', '0991234', '2',
'09912340' ],
# M10_011
[ 'ups', '1Z 591580 68 55587736', '1Z 591580 68 5558773', '6',
'1Z 591580 68 55587730' ],
# M11-003
[ 'pkz', '150765400354', '15076540035', '4',
'150765400350' ],
[ 'pkz', '110488414857', '11048841485', '7',
'110488414850' ],
# M11-004
[ 'cpf', '043.033.407-90', '043.033.407-', '90',
'043.033.407-91' ],
[ 'titulo_eleitor', '181497628-60', '181497628-', '60',
'181497628-61' ],
# M11-006
[ 'ccc_es', '2420-0730-27-0050103552', '2420-0730- -0050103552', '27',
'2420-0730-20-0050103552' ],
# M11-007
[ 'ustid_fi', '13669598', '1366959', '8',
'13669590' ],
# M11-008
[ 'ustid_dk', '13585628', '13585628', '',
'13585620' ],
# M11-009
[ 'nric_sg', 'S1234567D', 'S1234567', 'D',
'S1234567A' ],
[ 'nric_sg', '1234567D', '1234567', 'D',
'1234567A' ],
# M11-016
[ 'ustid_pl', '8567349219', '856734921', '9',
'8567349210' ],
# M11-010
[ 'ahv_ch', '123.45.678.113', '123.45.678.11', '3',
'123.45.678.110' ],
# M11-011
[ 'ustid_nl', '123456782', '12345678', '2',
'123456783' ],
[ 'ustid_nl', '007677595B04', '00767759.B04', '5',
'007677593B04' ],
# M11-012
[ 'bwpk_de', '151058-D-20711', '151058-D-2071', '1',
'151058-D-20712' ],
# M11-013
[ 'ustid_gr', '123456783', '12345678','3',
'123456789' ],
# M11-015
[ 'esr5_ch', '050001000012000 241170032660178 10304',
'0001000012000 241170032660178 10304', '05',
'060001000012000 241170032660178 10304' ],
# M11-017
[ 'ecno', '200-235-0', '200-235-', '0', '200-235-1' ],
# M16-001
[ 'isan', '123A567B8912E01A', '123A567B8912E01', 'A',
'123A567B8912E01B' ],
# M23-001
[ 'dni_es', '54362315-K', '54362315-', 'K',
'54362315-A' ],
# M23-002
[ 'ustid_ie', '8473625E', '8473625', 'E',
'8473625A' ],
# M43-001
[ 'code_39', 'AB-123K', 'AB-123', 'K',
'AB-123A' ],
# M89-001
[ 'ustid_lu', '13669580', '136695', '80',
'13669581' ],
# M97-001
[ 'ustid_be', '136695962', '1366959', '62',
'136695960' ],
# M97-002
[ 'iban', 'DE88 2008 0000 09703 7570 0',
'DE00 2008 0000 09703 7570 0', '88',
'DE12 2008 0000 09703 7570 0' ],
# MXX-001
[ 'pa_de', '2406055684D<6810203<0705109<6',
'240605568_D<681020_<070510_<_', '4<3<9<6',
'2406055684D<6810203<0705109<4' ],
[ 'pa_de', '2406055684', '240605568', '4', '2406055683' ],
[ 'pa_de', '6810203', '681020', '3', '6810204' ],
[ 'pa_de', '0705109', '070510', '9', '0705106' ],
[ 'aba_rn', '789456124', '78945612', '4', '789456125' ],
# MXX-002
[ 'cas', '1333-74-0', '1333-74-', '0', '1333-74-1' ],
[ 'cas', '107-07-3', '107-07-', '3', '107-07-1' ],
[ 'cas', '1021205-92-4', '1021205-92-', '4', '1021205-92-1' ],
# MXX-003
[ 'dem', 'GD0645027K1', 'GD0645027K', '1',
'GD0645027K0' ],
# MXX-004
[ 'ustid_at', 'U13585627', 'U1358562', '7',
'U13585620' ],
# MXX-005
[ 'esr9_ch', '123456786', '12345678', '6',
'123456789' ],
# MXX-006
[ 'verhoeff', '14567894', '1456789', '4',
'14657894' ],
);