6 use Test::More tests => 8;
13 ::use_ok("Moose::Util::TypeConstraints");
19 => message { "This number ($_) is not a positive integer!" };
21 subtype 'NaturalLessThanTen'
24 => message { "This number ($_) is not less than ten!" };
28 isa => 'NaturalLessThanTen',
32 lives_ok { my $goat = Animal->new(leg_count => 4) } '... no errors thrown, value is good';
33 lives_ok { my $spider = Animal->new(leg_count => 8) } '... no errors thrown, value is good';
35 throws_ok { my $fern = Animal->new(leg_count => 0) }
36 qr/This number \(0\) is not less than ten!/,
37 "gave custom supertype error message on new";
39 throws_ok { my $centipede = Animal->new(leg_count => 30) }
40 qr/This number \(30\) is not less than ten!/,
41 "gave custom subtype error message on new";
44 lives_ok { $chimera = Animal->new(leg_count => 4) } '... no errors thrown, value is good';
46 # first we remove the lion's legs..
47 throws_ok { $chimera->leg_count(0) }
48 qr/This number \(0\) is not less than ten!/,
49 "gave custom supertype error message on set_value";
51 # mix in a few octopodes
52 throws_ok { $chimera->leg_count(16) }
53 qr/This number \(16\) is not less than ten!/,
54 "gave custom subtype error message on set_value";