#!/usr/bin/env perl -w
my
%local_checks
= (
AT
=> [
'V12345678'
,
'123456789'
,
'U1234567'
,
'U123456789'
],
BE
=> [
'1234567890'
,
'01234567'
,
'012345678L'
],
BG
=> [
'12345678'
,
'12345678901'
,
'012345678L'
],
CY
=> [
'12345678'
,
'1234567A'
,
'123456789A'
],
CZ
=> [
'1234567'
,
'12345678901'
,
'123456A890'
],
DE
=> [
'12345678A'
,
'1234567A'
,
'123456789A'
],
DK
=> [
'1234567'
,
'123456789'
,
'12345 78 90'
],
EE
=> [
'12345678'
,
'1234567A'
,
'123456789A'
],
EL
=> [
'12345678'
,
'1234567A'
,
'123456789A'
],
ES
=> [
'12345678'
,
'A234567B9'
],
FI
=> [
'1234567'
,
'123456789'
,
'1234567L'
],
FR
=> [
'12 45678901A'
,
'A245678901'
,
'1B 4567890123'
,
'AB 45678901'
],
GB
=> [
'123 5678 0A'
,
'123 5678 1B 234'
,
'GD34'
,
'HA1234'
],
HU
=> [
'1234567'
,
'123456789'
,
'1234567L'
],
IE
=> [
'123456AB'
,
'1B3456C8'
,
'1-34567C'
,
'1*3456C8'
],
IT
=> [
'1234567890A'
,
'1234567890'
,
'123456789011'
],
LT
=> [
'12345678'
,
'123456789A12'
,
'1234567890123'
],
LU
=> [
'1234567'
,
'123456789'
,
'1234567L'
],
LV
=> [
'1234567890A'
,
'1234567890'
,
'123456789011'
],
MT
=> [
'1234567'
,
'123456789'
,
'1234567L'
],
NL
=> [
'123456789012'
,
'23456789B12'
,
'123456789C12'
],
PL
=> [
'123456'
,
'124567890'
,
'123456L7'
],
PT
=> [
'1234567'
,
'1234567A'
,
'123456789A'
],
RO
=> [
'1'
,
'12A'
,
'1234567890A'
],
SE
=> [
'123456789A12'
,
'12345678901'
,
'01234567890123'
],
SI
=> [
'1234567'
,
'123456789'
,
'1234567L'
],
SK
=> [
'123456789'
,
'12345678901'
,
'123456789L'
]
);
my
$tests
= 0;
for
my
$ms
(
keys
%local_checks
) {
$tests
+= $
}
plan
tests
=>
$tests
;
my
$hvat
=Business::Tax::VAT::Validation->new();
for
my
$ms
(
keys
%local_checks
) {
for
my
$t
(@{
$local_checks
{
$ms
}}) {
my
$res
=
$hvat
->local_check(
$t
,
$ms
);
if
(!
$res
){
ok(1);
}
else
{
warn
(
"Local check for $ms$t failed"
);
}
}
}
exit
;