6 use Test::More tests => 26;
10 use_ok('Moose::AttributeHelpers');
18 traits => [qw/Number/],
30 inc => [ add => [ 1 ] ],
31 dec => [ sub => [ 1 ] ],
32 odd => [ mod => [ 2 ] ],
33 cut_in_half => [ div => [ 2 ] ],
40 isa_ok($real, 'Real');
42 can_ok($real, $_) for qw[
43 set add sub mul div mod abs inc dec odd cut_in_half
46 is $real->integer, 5, 'Default to five';
50 is $real->integer, 15, 'Add ten for fithteen';
54 is $real->integer, 12, 'Subtract three for 12';
58 is $real->integer, 10, 'Set to ten';
62 is $real->integer, 5, 'divide by 2';
66 is $real->integer, 10, 'multiplied by 2';
70 is $real->integer, 0, 'Mod by 2';
76 is $real->integer, 2, 'Mod by 5';
82 is $real->integer, 1, 'abs 1';
88 is $real->integer, 13, 'inc 12';
92 is $real->integer, 12, 'dec 13';
96 my $attr = $real->meta->get_attribute('integer');
97 does_ok($attr, 'Moose::AttributeHelpers::Trait::Number');
99 is_deeply($attr->handles, {
107 inc => [ add => [ 1 ] ],
108 dec => [ sub => [ 1 ] ],
109 odd => [ mod => [ 2 ] ],
110 cut_in_half => [ div => [ 2 ] ],
111 }, '... got the right handles mapping');