
Test::Mini::Assertions - Basic Assertions for Test::Mini

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.$msg -- An optional description. 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:
$block -- The code reference to test.$msg -- An optional description.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.$method -- The method name being checked for.$msg -- An optional description.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:
$collection -- The collection to test.$obj -- The needle to find.$msg -- An optional description.assert_defined($obj, $msg)
Validates that the given $obj is defined.
Examples:
assert_defined $value; # if defined $value
Parameters:
$obj -- The value to check.$msg -- An optional description.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:
$sub -- The code that should die.$error -- The (optional) error substring expected.$msg -- An optional description.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:
$collection -- The collection under scrutiny.$msg -- An optional description.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.$msg -- An optional description.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:
$actual -- The tested value.$expected -- The static value.$delta -- The expected delta. Defaults to 0.001.$msg -- An optional description.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:
$actual -- The tested value.$expected -- The static value.$epsilon -- The expected tolerance factor. Defaults to 0.001.$msg -- An optional description.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.$type -- The type to expect.$msg -- An optional description.See Also:
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.$type -- The expected superclass.$msg -- An optional description.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 -- The string to match.$pattern -- The regular expression to match against.$msg -- An optional description.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.$msg -- An optional description.flunk($msg)
Causes the current test to exit immediately with a failing status.
Parameters:
$msg -- An optional description.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.$msg -- An optional description. 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:
$block -- The code reference to test.$msg -- An optional description.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.$method -- The method name being checked.$msg -- An optional description.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:
$collection -- The collection to test.$obj -- The needle to look for.$msg -- An optional description.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:
$collection -- The collection under scrutiny.$msg -- An optional description.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.$msg -- An optional description.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:
$actual -- The tested value.$expected -- The static value.$delta -- The delta $actual and $expected are expected to differ by. Defaults to 0.001.$msg -- An optional description.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:
$actual -- The tested value.$expected -- The static value.$epsilon -- The factor by which $actual and $expected are expected to differ by. Defaults to 0.001.$msg -- An optional description.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 -- The string to match.$pattern -- The regular expression to match against.$msg -- An optional description.skip($msg)
Allows the current test to be bypassed with an indeterminate status.
Parameters:
$msg -- An optional description.import($class)
Pulls all of the test-related methods into the calling package.