#!/usr/bin/env perl
use strict;
use warnings;
-use Test::More tests => 7;
+use Test::More tests => 14;
use Test::Exception;
use Mouse::Util::TypeConstraints;
=> where { length $_ }
=> message { "The string is empty!" };
+ subtype 'MyClass'
+ => as 'Object'
+ => where { $_->isa(__PACKAGE__) };
+
has name => (
is => 'ro',
isa => 'NonemptyStr',
ok!$st->check(undef);
ok!$st->check('');
+lives_and{
+ my $tc = find_type_constraint('MyClass');
+ ok $tc->check(My::Class->new());
+ ok!$tc->check('My::Class');
+ ok!$tc->check([]);
+ ok!$tc->check(undef);
+};
+
+package Foo;
+use Mouse::Util::TypeConstraints;
+
+$st = subtype as 'Int', where{ $_ > 0 };
+
+::ok $st->is_a_type_of('Int');
+::ok $st->check(10);
+::ok!$st->check(0);
+