Test::TypeTiny - useful functions for testing the efficacy of type constraints
use strict;
use warnings;
use Test::More;
use Test::TypeTiny;
use Types::Mine qw(Integer Number);
should_pass(1, Integer);
should_pass(-1, Integer);
should_pass(0, Integer);
should_fail(2.5, Integer);
ok_subtype(Number, Integer);
done_testing;
This module is covered by the Type-Tiny stability policy.
Test::TypeTiny provides a few handy functions for testing type constraints.
should_pass($value, $type, $test_name)should_pass($value, $type)Test that passes iff $value passes $type->check.
should_fail($value, $type, $test_name)should_fail($value, $type)Test that passes iff $value fails $type->check.
ok_subtype($type, @subtypes)Test that passes iff all @subtypes are subtypes of $type.
EXTENDED_TESTINGExportable boolean constant.
matchfor(@things)Assistant for matching exceptions. Not exported by default. See also Test::Fatal::matchfor.
If the EXTENDED_TESTING environment variable is set to true, this module will promote each should_pass or should_fail test into a subtest block and test the type constraint in both an inlined and non-inlined manner.
This variable must be set at compile time (i.e. before this module is loaded).
Please report any bugs to https://github.com/tobyink/p5-type-tiny/issues.
For an alternative to should_pass, see Test::Deep::Type which will happily accept a Type::Tiny type constraint instead of a MooseX::Types one.
Toby Inkster <tobyink@cpan.org>.
This software is copyright (c) 2013-2014, 2017-2025 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.