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->istrue(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:

isfalse

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

The isfalse 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

isfalse example 1
  package main;

  my $example = Example->new;

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

  # 1
isfalse example 2
  package main;

  my $example = Example->new;

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

  # 1
isfalse example 3
  package main;

  my $example = Example->new;

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

  # 0

istrue

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

The istrue 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

istrue example 1
  package main;

  my $example = Example->new;

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

  # 1
istrue example 2
  package main;

  my $example = Example->new;

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

  # 1
istrue example 3
  package main;

  my $example = Example->new;

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

  # 0