Test::TypeTiny

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

See Also

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.