logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Author

       Toby Inkster <tobyink@cpan.org>.

Bugs

       Please report any bugs to <https://github.com/tobyink/p5-type-tiny/issues>.

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.

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.

perl v5.40.1                                       2025-05-06                                Test::TypeTiny(3pm)

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

Name

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

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.

Status

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

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;

See Also