Merge pull request #3 from brianphillips/master
[gitmo/MooseX-Dependent.git] / t / 08-custom-messages.t
1 use strict;
2 use warnings;
3
4 use Test::More;
5 use MooseX::Types -declare=>[qw( SizedArray )];
6 use MooseX::Types::Parameterizable qw(Parameterizable);
7 use MooseX::Types::Moose qw( Int ArrayRef );
8
9 ok subtype(
10     SizedArray,
11     as Parameterizable[ArrayRef,Int],
12     where {
13         my ($value, $max) = @_;
14         @$value > $max
15     },
16     message {
17         my($value, $max) = @_;
18         return sprintf('%d > %d', scalar(@$value), $max);
19     }
20 ), 'Created parameterized type';
21
22 is SizedArray([3])->get_message([1..4]), q{4 > 3}, 'custom message';
23
24 done_testing;