NAME
Test::Mini::Assertions - Basic Assertions for Test::Mini
METHODS
Exported Functions
- assert
-
assert($test, $msg)
Asserts that
$test
is truthy, and throws a Test::Mini::Exception::Assert if that assertion fails.Examples:
assert 1; assert 'true', 'Truth should shine clear';
Parameters:
$test
-- The value to test.(String)
$msg
-- An optional description.
- assert_block
-
assert_block($block, $msg) Deprecated. This assertion offers little advantage over the base L<<<< S<<<<< #assert >>>>>|Test::Mini::Assertions/assert >>>>. This will be removed in v2.0.0.
Asserts that the given code reference returns a truthy value.
Examples:
assert_block { 'true' }; assert_block \&some_sub, 'expected better from &some_sub';
Parameters:
(CODE)
$block
-- The code reference to test.(String)
$msg
-- An optional description.
- assert_can
- Aliased as: assert_responds_to
-
assert_can($obj, $method, $msg)
Verifies that the given
$obj
is capable of responding to the given$method
name.Examples:
assert_can $date, 'day_of_week'; assert_can $time, 'seconds', '$time cannot respond to #seconds';
Parameters:
$obj
-- The object being tested.(String)
$method
-- The method name being checked for.(String)
$msg
-- An optional description.
- assert_contains
- Aliased as: assert_includes
-
assert_contains($collection, $obj, $msg)
Verifies that the given
$collection
contains the given$obj
as a member.Examples:
assert_contains [qw/ 1 2 3 /], 2; assert_contains { a => 'b' }, 'a'; # 'b' also contained assert_contains 'expectorate', 'xp'; assert_contains Collection->new(1, 2, 3), 2; # if Collection->contains(2)
Parameters:
(Array|Hash|String|#contains)
$collection
-- The collection to test.$obj
-- The needle to find.(String)
$msg
-- An optional description.
- assert_defined
- Aliased as: refute_undef
-
assert_defined($obj, $msg)
Validates that the given
$obj
is defined.Examples:
assert_defined $value; # if defined $value
Parameters:
$obj
-- The value to check.(String)
$msg
-- An optional description.
- assert_dies
-
assert_dies($sub, $error, $msg)
Tests that the supplied code block dies, and fails if it succeeds. If
$error
is provided, the error message in$@
must contain it.Examples:
assert_dies { die 'LAGHLAGHLAGHL' }; assert_dies { die 'Failure on line 27 in Foo.pm' } 'line 27';
Parameters:
(CODE)
$sub
-- The code that should die.(String)
$error
-- The (optional) error substring expected.(String)
$msg
-- An optional description.
- assert_empty
-
assert_empty($collection, $msg)
Verifies the emptiness of a collection.
Examples:
assert_empty []; assert_empty {}; assert_empty ''; assert_empty Collection->new(); # if Collection->new()->is_empty()
Parameters:
(Array|Hash|String|#is_empty)
$collection
-- The collection under scrutiny.(String)
$msg
-- An optional description.
- assert_equal
- Aliased as: assert_eq
-
assert_equal($actual, $expected, $msg)
Checks two given arguments for equality.
Examples:
assert_equal 3.000, 3; assert_equal lc('FOO'), 'foo'; assert_equal [qw/ 1 2 3 /], [ 1, 2, 3 ]; assert_equal { a => 'eh' }, { a => 'eh' }; assert_equal Class->new(), $expected; # if $expected->equals(Class->new())
Parameters:
$actual
-- The value under test.$expected
-- The expected value.(String)
$msg
-- An optional description.
- assert_in_delta
-
assert_in_delta($actual, $expected, $delta, $msg)
Checks that the difference between
$actual
and$expected
is less than$delta
.Examples:
assert_in_delta 1.001, 1; assert_in_delta 104, 100, 5;
Parameters:
(Number)
$actual
-- The tested value.(Number)
$expected
-- The static value.(Number)
$delta
-- The expected delta. Defaults to 0.001.(String)
$msg
-- An optional description.
- assert_in_epsilon
-
assert_in_epsilon($actual, $expected, $epsilon, $msg)
Checks that the difference between
$actual
and$expected
is less than a given fraction of the smaller of the two numbers.Examples:
assert_in_epsilon 22.0 / 7.0, Math::Trig::pi; assert_in_epsilon 220, 200, 0.10
Parameters:
(Number)
$actual
-- The tested value.(Number)
$expected
-- The static value.(Number)
$epsilon
-- The expected tolerance factor. Defaults to 0.001.(String)
$msg
-- An optional description.
- assert_instance_of
-
assert_instance_of($obj, $type, $msg)
Validates that the given object is an instance of
$type
.Examples:
assert_instance_of MyApp::Person->new(), 'MyApp::Person';
Parameters:
$obj
-- The instance to check.(Class)
$type
-- The type to expect.(String)
$msg
-- An optional description.
See Also:
- assert_is_a
- Aliased as: assert_isa
-
assert_is_a($obj, $type, $msg)
Validates that
$obj
inherits from$type
.Examples:
assert_is_a 'Employee', 'Employee'; assert_is_a Employee->new(), 'Employee'; assert_is_a 'Employee', 'Person'; # assuming Employee->isa('Person') assert_is_a Employee->new(), 'Person';
Parameters:
$obj
-- The instance or class to check.(Class)
$type
-- The expected superclass.(String)
$msg
-- An optional description.
- assert_match
-
assert_match($string, $pattern, $msg)
Validates that the given
$string
matches the given$pattern
.Examples:
assert_match 'Four score and seven years ago...', qr/score/;
Parameters:
(String)
$string
-- The string to match.(Regex)
$pattern
-- The regular expression to match against.(String)
$msg
-- An optional description.
- assert_undef
- Aliased as: refute_defined
-
assert_undef($obj, $msg)
Validates that the given
$obj
is undefined.Examples:
assert_undef $value; # if not defined $value
Parameters:
$obj
-- The value to check.(String)
$msg
-- An optional description.
- flunk
-
flunk($msg)
Causes the current test to exit immediately with a failing status.
Parameters:
(String)
$msg
-- An optional description.
- refute
-
refute($test, $msg)
Asserts that
$test
is falsey, and throws a Test::Mini::Exception::Assert if that assertion fails.Examples:
refute 0; refute undef, 'Deny the untruths';
Parameters:
$test
-- The value to test.(String)
$msg
-- An optional description.
- refute_block
-
refute_block($block, $msg) Deprecated. This assertion offers little advantage over the base L<<<< S<<<<< #refute >>>>>|Test::Mini::Assertions/refute >>>>. This will be removed in v2.0.0.
Asserts that the given code reference returns a falsey value.
Examples:
refute_block { '' }; refute_block \&some_sub, 'expected worse from &some_sub';
Parameters:
(CODE)
$block
-- The code reference to test.(String)
$msg
-- An optional description.
- refute_can
- Aliased as: refute_responds_to
-
refute_can($obj, $method, $msg)
Verifies that the given
$obj
is not capable of responding to the given$method
name.Examples:
refute_can $date, 'to_time'; refute_can $time, 'day', '$time cannot respond to #day';
Parameters:
$obj
-- The object being tested.(String)
$method
-- The method name being checked.(String)
$msg
-- An optional description.
- refute_contains
-
refute_contains($collection, $obj, $msg)
Verifies that the given
$collection
does not contain the given$obj
as a member.Examples:
refute_contains [qw/ 1 2 3 /], 5; refute_contains { a => 'b' }, 'x'; refute_contains 'expectorate', 'spec'; refute_contains Collection->new(1, 2, 3), 5; # unless Collection->contains(5)
Parameters:
(Array|Hash|String|#contains)
$collection
-- The collection to test.$obj
-- The needle to look for.(String)
$msg
-- An optional description.
- refute_empty
-
refute_empty($collection, $msg)
Verifies the non-emptiness of a collection.
Examples:
refute_empty [ 1 ]; refute_empty { a => 1 }; refute_empty 'full'; refute_empty Collection->new(); # unless Collection->new()->is_empty()
Parameters:
(Array|Hash|String|#is_empty)
$collection
-- The collection under scrutiny.(String)
$msg
-- An optional description.
- refute_equal
- Aliased as: refute_eq
-
refute_equal($actual, $unexpected, $msg)
Checks two given arguments for inequality.
Examples:
refute_equal 3.001, 3; refute_equal lc('FOOL'), 'foo'; refute_equal [qw/ 1 23 /], [ 1, 2, 3 ]; refute_equal { a => 'ae' }, { a => 'eh' }; refute_equal Class->new(), $expected; # unless $expected->equals(Class->new())
Parameters:
$actual
-- The value under test.$expected
-- The tested value.(String)
$msg
-- An optional description.
- refute_in_delta
-
refute_in_delta($actual, $expected, $delta, $msg)
Checks that the difference between
$actual
and$expected
is greater than$delta
.Examples:
refute_in_delta 1.002, 1; refute_in_delta 106, 100, 5;
Parameters:
(Number)
$actual
-- The tested value.(Number)
$expected
-- The static value.(Number)
$delta
-- The delta$actual
and$expected
are expected to differ by. Defaults to 0.001.(String)
$msg
-- An optional description.
- refute_in_epsilon
-
refute_in_epsilon($actual, $expected, $epsilon, $msg)
Checks that the difference between
$actual
and$expected
is greater than a given fraction of the smaller of the two numbers.Examples:
refute_in_epsilon 21.0 / 7.0, Math::Trig::pi; refute_in_epsilon 220, 200, 0.20
Parameters:
(Number)
$actual
-- The tested value.(Number)
$expected
-- The static value.(Number)
$epsilon
-- The factor by which$actual
and$expected
are expected to differ by. Defaults to 0.001.(String)
$msg
-- An optional description.
- refute_match
-
refute_match($string, $pattern, $msg)
Validates that the given
$string
does not match the given$pattern
.Examples:
refute_match 'Four score and seven years ago...', qr/score/;
Parameters:
(String)
$string
-- The string to match.(Regex)
$pattern
-- The regular expression to match against.(String)
$msg
-- An optional description.
- skip
-
skip($msg)
Allows the current test to be bypassed with an indeterminate status.
Parameters:
(String)
$msg
-- An optional description.
Class Methods
- import
-
import($class)
Pulls all of the test-related methods into the calling package.