The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

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