Test::TypeTiny - useful functions for testing the efficacy of type constraints



NAME

Test::TypeTiny - 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

the Test::TypeTiny manpage 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 the Test::Fatal::matchfor manpage.


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.


SEE ALSO

the Type::Tiny manpage.

For an alternative to should_pass, see the Test::Deep::Type manpage which will happily accept a Type::Tiny type constraint instead of a MooseX::Types one.


AUTHOR

Toby Inkster <tobyink@cpan.org>.


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.

 Test::TypeTiny - useful functions for testing the efficacy of type constraints