Badger::Test::Manager(3pm)

NAME
Badger::Test::Manager - test manager module

SYNOPSIS
    use Badger::Test::Manager;

    # object methods
    my $manager = Badger::Test::Manager->new( plan => 7 );
    $manager->ok($bool, 'This is a test');
    $manager->pass('This is ok');
    $manager->fail('This is not ok');
    $manager->is($this, $this, 'This and that are equal');
    $manager->isnt($this, $this, 'This and that are not equal');
    $manager->like($this, qr/that/, 'This is matched by that');
    $manager->unlike($this, qr/that/, 'This is not matched by that');

    # class methods
    Badger::Test::Manager->plan(7);
    Badger::Test::Manager->ok($bool, 'This is a test');
    Badger::Test::Manager->pass('This is ok');
    Badger::Test::Manager->fail('This is not ok');
    # ... plus is(), isnt(), like() unlike() methods, as above

DESCRIPTION
This module implements a simple test manager for Badger::Test.

METHODS
All methods can be called as class methods or object methods. In the case of class methods, they are called against a prototype object returned by the prototype() method inherited from Badger::Prototype.

  plan($tests)
How many tests you plan to run. An error will be thrown if you try to call this method twice.

  result($flag,@args)
Low-level method to generate a test result.

  ok($flag, $name)
Report on the success or failure of a test:

    $manager->ok(1, 'This is good');
    $manager->ok(0, 'This is bad');

  is($this, $that, $name)
Test if the first two arguments are equal.

    $manager->is($this, $that, "This and that are equal");

  isnt($this, $that, $name)
Test if the first two arguments are not equal.

    $manager->isnt($this, $that, "This and that are equal");

  like($text, qr/regex/, $name)
Test if the first argument is matched by the regex passed as the second argument.

    $manager->like($this, qr/like that/i, "This and that are alike");

  unlike($text, qr/regex/, $name)
Test if the first argument is not matched by the regex passed as the second argument.

    $manager->unlike($this, qr/like that/i, "This and that are unalike");

  pass($name)
Pass a test.

    $manager->pass('Module Loaded');

  fail($name)
Fail a test.

    $manager->fail('Stonehenge crushed by a dwarf');

  skip($reason)
Skip a single test.

    $manager->skip("We don't have that piece of scenery any more");

  skip_some($number,$reason)
Skip a number of tests.

    $manager->skip_some(11, "We don't have that piece of scenery any more");

  skip_rest(,$reason)
Skip any remaining tests.

    $manager->skip_rest("We don't have that piece of scenery any more");

  skip_all($reason)
Skip all tests. This should be called instead of plan()

    $manager->skip_all("We don't have that piece of scenery any more");

  colour($flag)
Method to enable or disable colour mode.

  color($flag)
An alias for colour().

INTERNAL METHODS

  finish()
This method is called automatically when the "Badger::Test::Manager" object is destroyed. It flushes any pending tests, performs any final sanity checks and prints a summary if requested.

  flush()
This methods flushes any cached test results. You don't need to worry about it.

  summary()
This method generates a final summary of the tests

  test_msg()
Used to generate the test messages displayed via the Badger::Base messages() method. The message formats are defined in the $MESSAGES package variable.

  test_name()
Use to generate a name for a test if one isn't explicitly provided.

  different($expect,$result)
This method is call when a test find a result that doesn't match the expected value. If "Algorithm::Diff" is installed on your machine, it will generate a message showing how the output and expected values differ.

Otherwise it will generate a regular message reporting the mismatch.

AUTHOR
Andy Wardley <http://wardley.org/>

COPYRIGHT
Copyright (C) 1996-2009 Andy Wardley. All Rights Reserved.

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

SEE ALSO
Badger::Test