From: Fuji Goro <fuji.goro@dena.jp>
Date: Fri, 7 Oct 2011 20:31:20 +0000 (-0700)
Subject: More tests
X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=85b15d5f1644327a51646d5081fa366caae7ac44;p=gitmo%2FMouse.git

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';
 }