Commit | Line | Data |
ffd6c41d |
1 | |
2 | use strict; |
3 | use warnings; |
4 | |
5 | use Test::More; |
82314ac8 |
6 | use MooseX::Types; |
ffd6c41d |
7 | use MooseX::Types::Parameterizable qw(Parameterizable); |
8 | use MooseX::Types::Moose qw(Int Str); |
9 | |
82314ac8 |
10 | my $varchar = |
11 | subtype as Parameterizable[Str, Int], |
12 | where { |
13 | my ($str, $int) = @_; |
14 | $int > length($str); |
15 | }; |
ffd6c41d |
16 | |
82314ac8 |
17 | ok $varchar, |
18 | 'got anonymouse type'; |
ffd6c41d |
19 | |
82314ac8 |
20 | ok $varchar->parameterize(5)->check('aaa'), |
21 | 'smaller than 5'; |
22 | |
23 | ok !$varchar->parameterize(5)->check('aaaaa'), |
24 | 'bigger than 5'; |
25 | |
26 | ok !$varchar->parameterize(5)->check([1..3]), |
27 | 'Not correct type'; |
28 | |
ffd6c41d |
29 | done_testing; |