GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  TEST::UNIT::ASSERTION::CODEREF (3)

.ds Aq ’

NAME

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

CONTENTS

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
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 TEST::UNIT::ASSERTION::CODEREF (3) 2002-01-08

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.