Devel::Cover::Truth_Table - Create and manipulate truth tables for coverage objects.
use Devel::Cover::Truth_Table; # $a || $b my $or_tt = Devel::Cover::Truth_Table->new_primitive('or_3', 0, 1, 1); # $c && $d my $and_tt = Devel::Cover::Truth_Table->new_primitive('and_3', 1, 0, 1); # merge contents of $and_tt into right column of $or_tt, to create # $a || ($c && $d) $or_tt->right_merge($and_tt); # get a (sorted) textual representation my @text = $or_tt->sort->text; print "$_\n" foreach @text; __END__ A B C |exp|hit -------------- 0 0 X | 0 |--- 0 1 0 | 0 |--- 0 1 1 | 1 |+++ 1 X X | 1 |+++ --------------
This module provides methods for creating and merging conditional primitives ($a && $b, $c || $d, etc.) into more complex composite expressions.
$a && $b
$c || $d
Create a new truth table based on one of the built-in primitives, which are the subclasses of Devel::Cover::DB::Condition. $op is one of the following:
$op
and or && with three conditional paths.
and
&&
or or || with three conditional paths.
or
||
or or || with two conditional paths. (i.e., when the right hand side of the expression is a constant)
xor with four conditional paths.
xor
@coverage is a list booleans identifying which of the possible paths have been covered.
@coverage
Sorts a truth table (in place) and returns the sorted object.
Format a truth table to an array of strings for printing.
Format a truth table in HTML.
Determines the proportion of possible conditions that have coverage.
Merge entries from $sub_table into right column of table.
$sub_table
Merge entries from $sub_table into left column of table.
Devel::Cover
None that I'm aware of...
Version 0.26 - 12th October 2003
Copyright 2002 Michael Carman <mjcarman@mchsi.com>
This software is free. It is licensed under the same terms as Perl itself. The latest version should be available from: http://www.pjcj.net
To install Devel::Cover, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Devel::Cover
CPAN shell
perl -MCPAN -e shell install Devel::Cover
For more information on module installation, please visit the detailed CPAN module installation guide.