From: Fuji Goro Date: Fri, 7 Oct 2011 20:31:20 +0000 (-0700) Subject: More tests X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?p=gitmo%2FMouse.git;a=commitdiff_plain;h=85b15d5f1644327a51646d5081fa366caae7ac44 More tests --- diff --git a/t/001_mouse/043-parameterized-type.t b/t/001_mouse/043-parameterized-type.t index e3e4cda..531febb 100644 --- a/t/001_mouse/043-parameterized-type.t +++ b/t/001_mouse/043-parameterized-type.t @@ -6,6 +6,7 @@ use Test::Exception; use Tie::Hash; use Tie::Array; + { { package My::Role; @@ -224,7 +225,10 @@ else{ # under Moose is_deeply \%th_clone, \%th, 'the hash iterator is initialized'; -{ + +for my $i(1 .. 2) { + diag "derived from parameterized types #$i"; + my $myhashref = subtype 'MyHashRef', as 'HashRef[Value]', where { keys %$_ > 1 }; @@ -241,9 +245,14 @@ is_deeply \%th_clone, \%th, 'the hash iterator is initialized'; ok $myhashref->is_a_type_of('HashRef'), "$myhashref"; ok $myhashref->check({ a => 43, b => 100 }); - ok !$myhashref->check({ a => 43, b => 3.14 }); - ok !$myhashref->check({}); + ok $myhashref->check({ a => 43, b => 100, c => 0 }); + ok !$myhashref->check({}), 'empty hash'; + ok !$myhashref->check({ foo => 42 }); + ok !$myhashref->check({ a => 43, b => "foo" }); ok !$myhashref->check({ a => 42, b => [] }); + ok !$myhashref->check({ a => 42, b => undef }); + ok !$myhashref->check([42]); + ok !$myhashref->check("foo"); is $myhashref->type_parameter, 'Int'; }