Test::TypeTiny(3) useful functions for testing the efficacy of type constraints

SYNOPSIS


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;

STATUS

This module is covered by the Type-Tiny stability policy.

DESCRIPTION

Test::TypeTiny provides a few handy functions for testing type constraints.

Functions

"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.

ENVIRONMENT

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).

BUGS

Please report any bugs to <http://rt.cpan.org/Dist/Display.html?Queue=Type-Tiny>.

AUTHOR

Toby Inkster <[email protected]>.

COPYRIGHT AND LICENCE

This software is copyright (c) 2013-2014 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.

DISCLAIMER OF WARRANTIES

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.