use
lib
qw( ./lib ./t/lib ../inc ./inc )
;
isa_ok(FooBar,
"Type::Tiny"
,
"FooBar"
);
isa_ok(FooBar,
"Type::Tiny::Class"
,
"FooBar"
);
isa_ok(FooBaz,
"Type::Tiny"
,
"FooBaz"
);
isa_ok(FooBaz,
"Type::Tiny::Class"
,
"FooBaz"
);
isa_ok(FooBar->new,
"Foo::Bar"
,
"FooBar->new"
);
isa_ok(FooBaz->new,
"Foo::Baz"
,
"FooBaz->new"
);
isa_ok(FooBar->class->new,
"Foo::Bar"
,
"FooBar->class->new"
);
isa_ok(FooBaz->class->new,
"Foo::Baz"
,
"FooBaz->class->new"
);
should_pass(
"Foo::Bar"
->new, FooBar);
should_pass(
"Foo::Baz"
->new, FooBar);
should_fail(
"Foo::Bar"
->new, FooBaz);
should_pass(
"Foo::Baz"
->new, FooBaz);
should_fail(
undef
, FooBar);
should_fail(
undef
, FooBaz);
should_fail({}, FooBar);
should_fail({}, FooBaz);
should_fail(FooBar, FooBar);
should_fail(FooBar, FooBaz);
should_fail(FooBaz, FooBar);
should_fail(FooBaz, FooBaz);
should_fail(
"Foo::Bar"
, FooBar);
should_fail(
"Foo::Bar"
, FooBaz);
should_fail(
"Foo::Baz"
, FooBar);
should_fail(
"Foo::Baz"
, FooBaz);
is(
ref
(FooBar->new),
ref
(FooBar->class->new),
'DWIM Type::Tiny::Class::new'
,
);
is(
'Type::Tiny::Class'
->new(
class
=>
'Xyzzy'
)->inline_check(
'$x'
),
'Type::Tiny::Class'
->new({
class
=>
'Xyzzy'
})->inline_check(
'$x'
),
'constructor can be passed a hash or hashref'
,
);
done_testing;