X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F001_basic.t;h=0e49bfd91efa8a3fbcceef903fd07ef9d538f22a;hb=1d4669291edf1495a90d5b110a6334b05ca1cc78;hp=fcb591a6a0d2539696461fdccf5d3c4dafa78e1d;hpb=d691721b11887b3ce12fbf5e4b854bf292033a4e;p=gitmo%2FMooseX-Storage.git diff --git a/t/001_basic.t b/t/001_basic.t index fcb591a..0e49bfd 100644 --- a/t/001_basic.t +++ b/t/001_basic.t @@ -1,9 +1,8 @@ -#!/usr/bin/perl - use strict; use warnings; -use Test::More tests => 12; +use Test::More tests => 14; +use Test::Deep; BEGIN { use_ok('MooseX::Storage'); @@ -24,6 +23,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 +36,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 +51,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 +72,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 +86,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 +96,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)' ); }