convert all uses of Test::Exception to Test::Fatal.
[gitmo/Moose.git] / t / 200_examples / 004_example_w_DCS.t
index e8d1d25..2b1168f 100644 (file)
@@ -7,47 +7,43 @@ use Test::More;
 
 =pod
 
-This tests how well Moose type constraints 
-play with Declare::Constraints::Simple. 
+This tests how well Moose type constraints
+play with Declare::Constraints::Simple.
 
 Pretty well if I do say so myself :)
 
 =cut
 
-BEGIN {
-    eval "use Declare::Constraints::Simple;";
-    plan skip_all => "Declare::Constraints::Simple is required for this test" if $@;        
-    plan tests => 11;    
-}
-
-use Test::Exception;
+use Test::Requires {
+    'Declare::Constraints::Simple' => '0.01', # skip all if not installed
+};
 
-BEGIN {  
-    use_ok('Moose');
-    use_ok('Moose::Util::TypeConstraints');    
-}
+use Test::Fatal;
 
 {
     package Foo;
     use Moose;
     use Moose::Util::TypeConstraints;
     use Declare::Constraints::Simple -All;
-    
+
     # define your own type ...
-    type 'HashOfArrayOfObjects' 
-        => IsHashRef(
+    type( 'HashOfArrayOfObjects',
+        {
+        where => IsHashRef(
             -keys   => HasLength,
-            -values => IsArrayRef( IsObject ));    
-    
+            -values => IsArrayRef(IsObject)
+        )
+    } );
+
     has 'bar' => (
         is  => 'rw',
         isa => 'HashOfArrayOfObjects',
     );
-    
+
     # inline the constraints as anon-subtypes
     has 'baz' => (
         is  => 'rw',
-        isa => subtype('ArrayRef' => IsArrayRef(IsInt)),
+        isa => subtype( { as => 'ArrayRef', where => IsArrayRef(IsInt) } ),
     );
 
     package Bar;
@@ -56,46 +52,41 @@ BEGIN {
 
 my $hash_of_arrays_of_objs = {
    foo1 => [ Bar->new ],
-   foo2 => [ Bar->new, Bar->new ],       
+   foo2 => [ Bar->new, Bar->new ],
 };
 
 my $array_of_ints = [ 1 .. 10 ];
 
 my $foo;
-lives_ok {
+ok ! exception {
     $foo = Foo->new(
        'bar' => $hash_of_arrays_of_objs,
        'baz' => $array_of_ints,
-    ); 
-} '... construction succeeded';
+    );
+}, '... construction succeeded';
 isa_ok($foo, 'Foo');
 
 is_deeply($foo->bar, $hash_of_arrays_of_objs, '... got our value correctly');
 is_deeply($foo->baz, $array_of_ints, '... got our value correctly');
 
-dies_ok {
+ok exception {
     $foo->bar([]);
-} '... validation failed correctly';
+}, '... validation failed correctly';
 
-dies_ok {
+ok exception {
     $foo->bar({ foo => 3 });
-} '... validation failed correctly';
+}, '... validation failed correctly';
 
-dies_ok {
+ok exception {
     $foo->bar({ foo => [ 1, 2, 3 ] });
-} '... validation failed correctly';
+}, '... validation failed correctly';
 
-dies_ok {
+ok exception {
     $foo->baz([ "foo" ]);
-} '... validation failed correctly';
+}, '... validation failed correctly';
 
-dies_ok {
+ok exception {
     $foo->baz({});
-} '... validation failed correctly';
-
-
-
-
-
-
+}, '... validation failed correctly';
 
+done_testing;