use strict;
use Test::More tests => 108;
use Test::Requires qw( Number::Phone );
my %test_number = (
'+810112345678' => '+81 01 12345678',
'+810912012345678' => '+81 09120 12345678',
'+816033001234' => '+81 60 33001234',
'+81120000123' => '+81 120 000123',
'+81112001234' => '+81 11 2001234',
'+815010001234' => '+81 50 10001234',
'+818010012345' => '+81 80 10012345',
'+812046012345' => '+81 20 46012345',
'+817050112345' => '+81 70 50112345',
'+81990500123' => '+81 990 500123',
'+81570000123' => '+81 570 000123',
);
for my $number (keys %test_number) {
my $phone = Number::Phone->new($number);
ok($phone->is_valid, "$number is_valid");
ok(defined $phone->is_mobile, "$number is_mobile");
ok(defined $phone->is_pager, "$number is_pager");
ok(defined $phone->is_ipphone, "$number is_ipphone");
ok(defined $phone->is_tollfree, "$number is_tollfree");
ok(defined $phone->is_specialrate, "$number is_specialrate");
is($phone->country_code, 81, "$number country_code");
is($phone->format, $test_number{$number}, "$number format")
}
my @unsupported_methods = qw(
is_allocated
is_in_use
is_geographic
is_fixed_line
is_isdn
is_adult
is_personal
is_corporate
is_government
is_international
is_network_service
regulator
areacode
areaname
location
subscriber
operator
type
country
translates_to
);
my $phone = Number::Phone->new('+810112345678');
for my $method (@unsupported_methods) {
is($phone->$method(), undef, "$method is unsupported");
}