Commit | Line | Data |
678b4064 |
1 | use strict; |
2 | use warnings; |
3 | use Test::More; |
25c705c4 |
4 | use Test::Fatal; |
678b4064 |
5 | |
6 | use MooseX::Types::Moose qw(Int Num); |
7 | use MooseX::Types::Structured qw(Map); |
678b4064 |
8 | |
9 | my $type = Map[ Int, Num ]; |
10 | |
11 | ok($type->assert_valid({ 10 => 10.5 }), "simple Int -> Num mapping"); |
12 | |
25c705c4 |
13 | like( exception { $type->assert_valid({ 10.5 => 10.5 }) }, |
ba2c5a1e |
14 | qr{value .*10\.5.*}, "non-Int causes rejection on key"); |
678b4064 |
15 | |
25c705c4 |
16 | like( exception { $type->assert_valid({ 10 => "ten and a half" }) }, |
ba2c5a1e |
17 | qr{value .*ten and a half.*}, "non-Num value causes rejection on value"); |
678b4064 |
18 | |
19 | ok($type->assert_valid({ }), "empty hashref is a valid mapping of any sort"); |
20 | |
21 | done_testing; |
22 | |