NAME
Devel::Cover::Truth_Table - Truth tables for coverage objects.
VERSION
version 1.21
SYNOPSIS
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 |+++
--------------
DESCRIPTION
This module provides methods for creating and merging conditional primitives ($a && $b
, $c || $d
, etc.) into more complex composite expressions.
METHODS
new_primitive($op, @coverage)
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:
- and_3
-
and
or&&
with three conditional paths. - or_3
-
or
or||
with three conditional paths. - or_2
-
or
or||
with two conditional paths. (i.e., when the right hand side of the expression is a constant) - xor_4
-
xor
with four conditional paths.
@coverage
is a list booleans identifying which of the possible paths have been covered.
sort()
Sorts a truth table (in place) and returns the sorted object.
text()
Format a truth table to an array of strings for printing.
html()
Format a truth table in HTML.
error()
percentage()
Determines the proportion of possible conditions that have coverage.
right_merge($sub_table)
Merge entries from $sub_table
into right column of table.
left_merge($sub_table)
Merge entries from $sub_table
into left column of table.
SEE ALSO
Devel::Cover
BUGS
None that I'm aware of...
LICENSE
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