Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
Test::Unit::Assertion:UsereContributed Perl DTest::Unit::Assertion::CodeRef(3)

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
       o   Test::Unit::TestCase

       o   Test::Unit::Assertion

perl v5.32.1			  2002-01-08 Test::Unit::Assertion::CodeRef(3)

NAME | SYNOPSIS | IMPLEMENTS | DESCRIPTION | AUTHOR | SEE ALSO

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Test::Unit::Assertion::CodeRef&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help