X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F070_basic_maybe.t;h=75e34d2bb96315b8e2ed34161dba0aa636167dd6;hb=619ab942be0a8bd8f530c57ca5b0c8d833cdc89b;hp=0c908babfa41287fa99b71d4d93c59e607e5ca1a;hpb=766ab81f59db9f3087e0011112ff2e69133a85c5;p=gitmo%2FMooseX-Storage.git diff --git a/t/070_basic_maybe.t b/t/070_basic_maybe.t index 0c908ba..75e34d2 100644 --- a/t/070_basic_maybe.t +++ b/t/070_basic_maybe.t @@ -4,6 +4,7 @@ use strict; use warnings; use Test::More tests => 22; +use Test::Deep; BEGIN { use_ok('MooseX::Storage'); @@ -37,8 +38,8 @@ BEGIN { object => Foo->new( number => 2 ), ); isa_ok( $foo, 'Foo' ); - - is_deeply( + + cmp_deeply( $foo->pack, { __CLASS__ => 'Foo', @@ -48,10 +49,10 @@ BEGIN { 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' ); @@ -67,11 +68,11 @@ BEGIN { 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' ); @@ -79,8 +80,8 @@ BEGIN { is( $foo->string, 'foo', '... got the right string' ); ok( $foo->boolean, '... got the right boolean' ); is( $foo->float, 10.5, '... got the right float' ); - is_deeply( $foo->array, [ 1 .. 10 ], '... got the right array' ); - is_deeply( + cmp_deeply( $foo->array, [ 1 .. 10 ], '... got the right array' ); + cmp_deeply( $foo->hash, { map { $_ => undef } ( 1 .. 10 ) }, '... got the right hash' @@ -101,25 +102,25 @@ BEGIN { 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 %{$_} }; @@ -141,8 +142,8 @@ BEGIN { object => Foo->new( number => 2 ), ); isa_ok( $foo, 'Foo' ); - - is_deeply( + + cmp_deeply( $foo->pack, { __CLASS__ => 'Foo', @@ -151,10 +152,10 @@ BEGIN { 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' ); @@ -169,19 +170,19 @@ BEGIN { 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' ); is( $foo->number, 10, '... got the right number' ); is( $foo->string, 'foo', '... got the right string' ); is( $foo->float, 10.5, '... got the right float' ); - is_deeply( $foo->array, [ 1 .. 10 ], '... got the right array' ); - is_deeply( + cmp_deeply( $foo->array, [ 1 .. 10 ], '... got the right array' ); + cmp_deeply( $foo->hash, { map { $_ => undef } ( 1 .. 10 ) }, '... got the right hash'