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_TESTING"
Exportable 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>.
Type::Tiny.
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 <[email protected]>.
This software is copyright (c) 2013−2014, 2017−2023 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.