X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F001_basic.t;h=1f961991a7813d1ad7db00e6be280d9e9409e04b;hb=619ab942be0a8bd8f530c57ca5b0c8d833cdc89b;hp=fcb591a6a0d2539696461fdccf5d3c4dafa78e1d;hpb=b5f363acfcf077778dd4f3b59460a0cbb9e51400;p=gitmo%2FMooseX-Storage.git diff --git a/t/001_basic.t b/t/001_basic.t index fcb591a..1f96199 100644 --- a/t/001_basic.t +++ b/t/001_basic.t @@ -3,7 +3,8 @@ use strict; use warnings; -use Test::More tests => 12; +use Test::More tests => 14; +use Test::Deep; BEGIN { use_ok('MooseX::Storage'); @@ -24,6 +25,8 @@ BEGIN { has 'array' => ( is => 'ro', isa => 'ArrayRef' ); has 'hash' => ( is => 'ro', isa => 'HashRef' ); has 'object' => ( is => 'ro', isa => 'Foo' ); + has 'union' => ( is => 'ro', isa => 'ArrayRef|Str' ); + has 'union2' => ( is => 'ro', isa => 'ArrayRef|Str' ); } { @@ -35,10 +38,12 @@ BEGIN { array => [ 1 .. 10 ], hash => { map { $_ => undef } ( 1 .. 10 ) }, object => Foo->new( number => 2 ), + union => [ 1, 2, 3 ], + union2 => 'A String' ); isa_ok( $foo, 'Foo' ); - - is_deeply( + + cmp_deeply( $foo->pack, { __CLASS__ => 'Foo', @@ -48,10 +53,12 @@ BEGIN { float => 10.5, array => [ 1 .. 10 ], hash => { map { $_ => undef } ( 1 .. 10 ) }, - object => { - __CLASS__ => 'Foo', - number => 2 - }, + object => { + __CLASS__ => 'Foo', + number => 2 + }, + union => [ 1, 2, 3 ], + union2 => 'A String' }, '... got the right frozen class' ); @@ -67,11 +74,13 @@ BEGIN { float => 10.5, array => [ 1 .. 10 ], hash => { map { $_ => undef } ( 1 .. 10 ) }, - object => { - __CLASS__ => 'Foo', - number => 2 - }, - } + object => { + __CLASS__ => 'Foo', + number => 2 + }, + union => [ 1, 2, 3 ], + union2 => 'A String' + } ); isa_ok( $foo, 'Foo' ); @@ -79,8 +88,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' @@ -89,4 +98,6 @@ BEGIN { isa_ok( $foo->object, 'Foo' ); is( $foo->object->number, 2, '... got the right number (in the embedded object)' ); + cmp_deeply( $foo->union, [ 1 .. 3 ], '... got the right array (in the union)' ); + is( $foo->union2, 'A String', '... got the right string (in the union)' ); }