BEGIN {
use strict;
use warnings;
- use Test::More tests=>5;
+ use Test::More tests=>11;
}
{
}
-use Moose::Util::TypeConstraints;
-use MooseX::Types::Structured qw(Dict Tuple);
-use MooseX::Types::Moose qw(Int Str Item Object ArrayRef HashRef);
-
BEGIN {
TypeLib->import(':all');
}
+use Moose::Util::TypeConstraints;
+use MooseX::Types::Structured qw(Dict Tuple);
+use MooseX::Types::Moose qw(Item Any);
+
+
ok ( MyDict2->is_a_type_of(MyDict4),
'MyDict2 is_a_type_of MyDict4');
+ok ( MyDict1->is_subtype_of(MyDict4),
+ 'MyDict1 is_subtype_of MyDict4');
+
ok ( (Tuple[Tuple[ class_type('Paper'), class_type('Stone') ], Dict[]])->is_a_type_of( Tuple[Tuple[ Item, Item ], Dict[]] ),
"tuple of tuple" );
ok ( (Tuple[Tuple[ class_type('Paper'), class_type('Stone') ], Dict[]])->is_subtype_of( Tuple[Tuple[ Item, Item ], Dict[]] ),
"tuple of tuple" );
-ok ( MyDict1->is_subtype_of(MyDict4),
- 'MyDict1 is_subtype_of MyDict4');
+my $item = subtype as 'Item';
+
+ok ( $item->is_subtype_of('Any'),
+ q[$item is subtype of 'Any']);
+
+ok ( Item->is_subtype_of('Any'),
+ q[Item is subtype of 'Any']);
+
+ok ( $item->is_subtype_of(Any),
+ q[Item is subtype of Any]);
+
+ok ( Item->is_subtype_of(Any),
+ q[Item is subtype of Any]);
+
+my $any = subtype as 'Any';
+
+ok ( ! $item->is_subtype_of($any),
+ q[$item is NOT a subtype of $any]);
+
+ok ( ! Item->is_subtype_of($any),
+ q[Item is NOT a subtype of $any]);
+
+__END__
+
+