X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F004_basic_number.t;h=f7e9b85fa1ff86bcf767acd51b030cfe326b59c9;hb=9e2db1c2f1fac57b7908a080ba8c552e4ae2b59c;hp=0ca838e6aac53033479d34ca17b6741463e16e03;hpb=9a9764976656e1a089735d0cb1f1affd06f4d7e4;p=gitmo%2FMooseX-AttributeHelpers.git diff --git a/t/004_basic_number.t b/t/004_basic_number.t index 0ca838e..f7e9b85 100644 --- a/t/004_basic_number.t +++ b/t/004_basic_number.t @@ -1,9 +1,10 @@ #!/usr/bin/perl + use strict; use warnings; -use Test::More tests => 18; +use Test::More tests => 26; BEGIN { use_ok('MooseX::AttributeHelpers'); @@ -19,13 +20,19 @@ BEGIN { isa => 'Int', default => sub { 5 }, provides => { - set => 'set', - add => 'add', - sub => 'sub', - mul => 'mul', - div => 'div', - mod => 'mod', - abs => 'abs', + set => 'set', + add => 'add', + sub => 'sub', + mul => 'mul', + div => 'div', + mod => 'mod', + abs => 'abs', + }, + curries => { + add => {inc => [ 1 ]}, + sub => {dec => [ 1 ]}, + mod => {odd => [ 2 ]}, + div => {cut_in_half => [ 2 ]} } ); } @@ -34,7 +41,7 @@ my $real = Real->new; isa_ok($real, 'Real'); can_ok($real, $_) for qw[ - set add sub mul div mod abs + set add sub mul div mod abs inc dec odd cut_in_half ]; is $real->integer, 5, 'Default to five'; @@ -73,4 +80,30 @@ $real->set(-1); $real->abs; -is $real->integer, 1, 'abs 1' \ No newline at end of file +is $real->integer, 1, 'abs 1'; + +$real->set(12); + +$real->inc; + +is $real->integer, 13, 'inc 12'; + +$real->dec; + +is $real->integer, 12, 'dec 13'; + +## test the meta + +my $attr = $real->meta->get_attribute('integer'); +isa_ok($attr, 'MooseX::AttributeHelpers::Number'); + +is_deeply($attr->provides, { + set => 'set', + add => 'add', + sub => 'sub', + mul => 'mul', + div => 'div', + mod => 'mod', + abs => 'abs', +}, '... got the right provides mapping'); +