NAME

Venus::Role::Testable - Testable Role

ABSTRACT

Testable Role for Perl 5

SYNOPSIS

package Example;

use Venus::Class;

with 'Venus::Role::Testable';

attr 'value';

sub execute {
  return pop;
}

package main;

my $example = Example->new;

# $example->is_true(sub{0});

DESCRIPTION

This package modifies the consuming package and provides methods for dispatching method calls and returning truthy returns as true and falsy returns as false boolean values.

METHODS

This package provides the following methods:

is_false

is_false(Str | CodeRef $method, Any @args) (Bool)

The is_false method dispatches the method call or executes the callback and returns truthy returns as false and falsy returns as true "boolean" values.

Since 0.08

is_false example 1
package main;

my $example = Example->new;

my $true = $example->is_false(execute => 0);

# 1
is_false example 2
package main;

my $example = Example->new;

my $true = $example->is_false(sub{0});

# 1
is_false example 3
package main;

my $example = Example->new;

my $false = $example->is_false(execute => 1);

# 0

is_true

is_true(Str | CodeRef $method, Any @args) (Bool)

The is_true method dispatches the method call or executes the callback and returns truthy returns as true and falsy returns as false "boolean" values.

Since 0.08

is_true example 1
package main;

my $example = Example->new;

my $true = $example->is_true(execute => 1);

# 1
is_true example 2
package main;

my $example = Example->new;

my $true = $example->is_true(sub{1});

# 1
is_true example 3
package main;

my $example = Example->new;

my $false = $example->is_true(execute => 0);

# 0