— |
my $classify = classifier(Num, Str, Int, Ref, ArrayRef, HashRef, Any, InstanceOf[ 'Type::Tiny' ]);
sub classified ($$)
{
my $got = $classify ->( $_ [0]);
my $expected = $_ [1];
local $Test::Builder::Level = $Test::Builder::Level + 1;
is(
$got ->name,
$expected ->name,
sprintf ( "%s classified as %s" , Type::Tiny::_dd( $_ [0]), $expected ),
);
}
classified(42, Int);
classified(1.1, Num);
classified( "Hello world" , Str);
classified( "42" , Int);
classified( "1.1" , Num);
classified((\( my $x )), Ref);
classified([], ArrayRef);
classified({}, HashRef);
classified( undef , Any);
classified(Num, InstanceOf[ 'Type::Tiny' ]);
done_testing;
|