use strict;
use Test::More;
use Data::Verifier;
my $verifier = Data::Verifier->new(
profile => {
name => {
required => 1
},
grade => {
required => 1,
type => 'Int'
},
location => {
type => 'Str'
}
}
);
my $results = $verifier->verify({
grade => 'abc',
location => 'TN'
});
my $verifier2 = Data::Verifier->new(
profile => {
position => {
required => 1,
},
rank => {
type => 'Int'
},
serial => {
type => 'Str'
}
}
);
my $results2 = $verifier2->verify({
rank => 'abc',
serial => 'abc123'
});
$results->merge($results2);
ok($results->is_missing('name'), 'name missing');
ok($results->is_missing('position'), 'position missing');
ok($results->is_invalid('grade'), 'grade invalid');
ok($results->is_invalid('rank'), 'rank invalid');
cmp_ok($results->get_value('location'), 'eq', 'TN', 'get_value location');
cmp_ok($results->get_value('serial'), 'eq', 'abc123', 'get_value serial');
is_deeply( [$results->get_values('location', 'serial')], ['TN', 'abc123'], '"get_values" method');
done_testing;