Perl Diver 2.33
Main Environment Variables Perl Default Values Perl Config - Summary Perl Config - Full Installed Modules List Directory uptime Docs

Module Documentation
Details and documentation about a specific module, including version and documentation (if available). Note that while links to perldoc.com and search.cpan.org are provided, the module may be part of a larger distribution. If you reach a File Not Found page on either site, please try the parent module.

Test::Unit::Assertion::CodeRef

Name Test::Unit::Assertion::CodeRef
Version
Located at /usr/share/perl5
File /usr/share/perl5/Test/Unit/Assertion/CodeRef.pm
Is Core No
Search CPAN for this module Test::Unit::Assertion::CodeRef
Documentation Test::Unit::Assertion::CodeRef
Module Details Test::Unit::Assertion::CodeRef

NAME

Test::Unit::Assertion::CodeRef - A delayed evaluation assertion using a Coderef


SYNOPSIS

    require Test::Unit::Assertion::CodeRef;
    my $assert_eq =
      Test::Unit::Assertion::CodeRef->new(sub {
        $_[0] eq $_[1]
          or Test::Unit::Failure->throw(-text =>
                                          "Expected '$_[0]', got '$_[1]'\n");
      });
    $assert_eq->do_assertion('foo', 'bar');

Although this is how you'd use Test::Unit::Assertion::CodeRef directly, it is more usually used indirectly via Test::Unit::Test::assert, which instantiates a Test::Unit::Assertion::CodeRef when passed a Coderef as its first argument.


IMPLEMENTS

Test::Unit::Assertion::CodeRef implements the Test::Unit::Assertion interface, which means it can be plugged into the Test::Unit::TestCase and friends' assert method with no ill effects.


DESCRIPTION

This class is used by the framework to allow us to do assertions in a 'functional' manner. It is typically used generated automagically in code like:

    $self->assert(sub {
                    $_[0] == $_[1]
                      or $self->fail("Expected $_[0], got $_[1]");
                  }, 1, 2);

(Note that if Damian Conway's Perl6 RFC for currying ever comes to pass then we'll be able to do this as:

    $self->assert(^1 == ^2 || $self->fail("Expected ^1, got ^2"), 1, 2)

which will be nice...)

If you have a working B::Deparse installed with your perl installation then, if an assertion fails, you'll see a listing of the decompiled coderef (which will be sadly devoid of comments, but should still be useful)


AUTHOR

Copyright (c) 2001 Piers Cawley <pdcawley@iterative-software.com>.

All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.


SEE ALSO

Perl Diver brought to you by ScriptSolutions.com © 1997- 2026