Test::TypeTiny(3) User Contributed Perl Documentation Test::TypeTiny(3)

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.
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 <tobyink@cpan.org>.

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.

2024-03-13 perl v5.38.2