Test::Unit::Assertion::CodeRef(User Contributed Perl DocumentaTest::Unit::Assertion::CodeRef(3pm)
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 AT 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
o Test::Unit::TestCase
o Test::Unit::Assertion
perl v5.30.2 2020-05-18 Test::Unit::Assertion::CodeRef(3pm)
Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2025-11-21 16:29 @216.73.216.57 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)