Testing Basics
Table Cases
A small table of cases can check the same behavior for several inputs.
Table Cases
table_cases.pl
use strict;
use warnings;
sub multiply {
my ($value, $factor) = @_;
return $value * $factor;
}
my $factor = ;
my @inputs = (1, 2, 3);
my @expected = (2, 4, 6);
my $passed = 0;
my $failed = 0;
foreach my $index (0 .. 2) {
my $actual = multiply($inputs[$index], $factor);
if ($actual == $expected[$index]) {
$passed = $passed + 1;
} else {
$failed = $failed + 1;
}
}
print "factor=$factor\n";
print "passed=$passed\n";
print "failed=$failed\n";
use strict;
use warnings;
sub multiply {
my ($value, $factor) = @_;
return $value * $factor;
}
my $factor = ;
my @inputs = (1, 2, 3);
my @expected = (2, 4, 6);
my $passed = 0;
my $failed = 0;
foreach my $index (0 .. 2) {
my $actual = multiply($inputs[$index], $factor);
if ($actual == $expected[$index]) {
$passed = $passed + 1;
} else {
$failed = $failed + 1;
}
}
print "factor=$factor\n";
print "passed=$passed\n";
print "failed=$failed\n";
use strict;
use warnings;
sub multiply {
my ($value, $factor) = @_;
return $value * $factor;
}
my $factor = ;
my @inputs = (1, 2, 3);
my @expected = (2, 4, 6);
my $passed = 0;
my $failed = 0;
foreach my $index (0 .. 2) {
my $actual = multiply($inputs[$index], $factor);
if ($actual == $expected[$index]) {
$passed = $passed + 1;
} else {
$failed = $failed + 1;
}
}
print "factor=$factor\n";
print "passed=$passed\n";
print "failed=$failed\n";
table test
A table test repeats the same check for each row of input and expected output.