X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F002_basic_w_subtypes.t;h=16bad20f509ae8507b41a63aba245cb873294b23;hb=d7ef03f6e65591eec83471f6887f5928451c494a;hp=dedec188432c815fa049da797ef222cd5496a6da;hpb=766ab81f59db9f3087e0011112ff2e69133a85c5;p=gitmo%2FMooseX-Storage.git diff --git a/t/002_basic_w_subtypes.t b/t/002_basic_w_subtypes.t index dedec18..16bad20 100644 --- a/t/002_basic_w_subtypes.t +++ b/t/002_basic_w_subtypes.t @@ -11,8 +11,8 @@ BEGIN { =pod -This extends the 001_basic test to -show that subtypes will DWIM in most +This extends the 001_basic test to +show that subtypes will DWIM in most cases. =cut @@ -26,25 +26,25 @@ cases. use Scalar::Util 'looks_like_number'; - with Storage; - - subtype 'Natural' + with Storage; + + subtype 'Natural' => as 'Int' => where { $_ > 0 }; - - subtype 'HalfNum' + + subtype 'HalfNum' => as 'Num' - => where { "$_" =~ /\.5$/ }; - + => where { "$_" =~ /\.5$/ }; + subtype 'FooString' => as 'Str' => where { lc($_) eq 'foo' }; - - subtype 'IntArray' + + subtype 'IntArray' => as 'ArrayRef' => where { scalar grep { looks_like_number($_) } @{$_} }; - subtype 'UndefHash' + subtype 'UndefHash' => as 'HashRef' => where { scalar grep { !defined($_) } values %{$_} }; @@ -66,7 +66,7 @@ cases. object => Foo->new( number => 2 ), ); isa_ok( $foo, 'Foo' ); - + is_deeply( $foo->pack, { @@ -76,10 +76,10 @@ cases. float => 10.5, array => [ 1 .. 10 ], hash => { map { $_ => undef } ( 1 .. 10 ) }, - object => { - __CLASS__ => 'Foo', - number => 2 - }, + object => { + __CLASS__ => 'Foo', + number => 2 + }, }, '... got the right frozen class' ); @@ -94,11 +94,11 @@ cases. float => 10.5, array => [ 1 .. 10 ], hash => { map { $_ => undef } ( 1 .. 10 ) }, - object => { - __CLASS__ => 'Foo', - number => 2 - }, - } + object => { + __CLASS__ => 'Foo', + number => 2 + }, + } ); isa_ok( $foo, 'Foo' );