Convert all tests to done_testing.
[gitmo/Moose.git] / t / 040_type_constraints / 018_custom_parameterized_types.t
index 0649653..c4969e5 100644 (file)
@@ -3,7 +3,7 @@
 use strict;
 use warnings;
 
-use Test::More tests => 21;
+use Test::More;
 use Test::Exception;
 
 BEGIN {
@@ -43,24 +43,25 @@ lives_ok {
 
     ok($t->check({ one => 1, two => 2 }), '... validated it correctly');
     ok(!$t->check({ one1 => 1, two2 => 2 }), '... validated it correctly');
+
+    ok( $t->equals($t), "equals to self" );
+    ok( !$t->equals($t->parent), "not equal to parent" );
 }
 
-my $hoi = Moose::Meta::TypeConstraint::Parameterized->new(
-    name           => 'AlphaKeyHash[Int]',
-    parent         => find_type_constraint('AlphaKeyHash'),
-    type_parameter => find_type_constraint('Int'),
-);
+my $hoi = Moose::Util::TypeConstraints::find_or_parse_type_constraint('AlphaKeyHash[Int]');
 
 ok($hoi->check({ one => 1, two => 2 }), '... validated it correctly');
 ok(!$hoi->check({ one1 => 1, two2 => 2 }), '... validated it correctly');
 ok(!$hoi->check({ one => 'uno', two => 'dos' }), '... validated it correctly');
 ok(!$hoi->check({ one1 => 'un', two2 => 'deux' }), '... validated it correctly');
 
-my $th = Moose::Meta::TypeConstraint::Parameterized->new(
-    name           => 'Trihash[Bool]',
-    parent         => find_type_constraint('Trihash'),
-    type_parameter => find_type_constraint('Bool'),
-);
+ok( $hoi->equals($hoi), "equals to self" );
+ok( !$hoi->equals($hoi->parent), "equals to self" );
+ok( !$hoi->equals(find_type_constraint('AlphaKeyHash')), "not equal to unparametrized self" );
+ok( $hoi->equals( Moose::Meta::TypeConstraint::Parameterized->new( name => "Blah", parent => find_type_constraint("AlphaKeyHash"), type_parameter => find_type_constraint("Int") ) ), "equal to clone" );
+ok( !$hoi->equals( Moose::Meta::TypeConstraint::Parameterized->new( name => "Oink", parent => find_type_constraint("AlphaKeyHash"), type_parameter => find_type_constraint("Str") ) ), "not equal to different parameter" );
+
+my $th = Moose::Util::TypeConstraints::find_or_parse_type_constraint('Trihash[Bool]');
 
 ok(!$th->check({ one => 1, two => 1 }), '... validated it correctly');
 ok($th->check({ one => 1, two => 0, three => 1 }), '... validated it correctly');
@@ -83,3 +84,4 @@ dies_ok {
     );
 } 'non-containers cannot be parameterized';
 
+done_testing;