5 use MooseX::Types::Parameterizable qw(Parameterizable);
6 use MooseX::Types::Moose qw( Int ArrayRef );
7 use MooseX::Types -declare=>[qw( EvenInt ArrayOfEvenIntsWithLength )];
13 return $val % 2 ? 0:1;
15 'Created a subtype of Int';
18 ArrayOfEvenIntsWithLength,
24 my ($value, $int) = @_;
25 my $length = scalar(@$value);
26 $length < ($int+1) ? 1:0;
28 ), 'Created parameterized parameterized!';
30 ok ! ArrayOfEvenIntsWithLength([5])->check([2,4,6,8,10,12,14]),
31 'correctly failed too long array';
33 ok ! ArrayOfEvenIntsWithLength([5])->check([2,4,6,8,11]),
34 'correctly failed with odd number in array';
36 ok ArrayOfEvenIntsWithLength([5])->check([2,4,6]),
37 'correctly passed array';