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.
$value
$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.
@subtypes
$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.
should_pass
should_fail
This variable must be set at compile time (i.e. before this module is loaded).
Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=Type-Tiny.
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 <tobyink@cpan.org>.
This software is copyright (c) 2013-2014, 2017 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.
To install Type::Tiny, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Type::Tiny
CPAN shell
perl -MCPAN -e shell install Type::Tiny
For more information on module installation, please visit the detailed CPAN module installation guide.