Core Testing Tools
Is Comparisons
An is-style check compares an actual scalar value to an expected scalar value.
is-comparisons
Expected and actual values make a failed comparison easier to diagnose than a bare boolean check.
Is Comparisons
is_comparisons.pl
Replay: real traced execution (multi-file project)
use strict;
use warnings;
my $name = "Ada";
my $expected = "Ada";
my $passed = $name eq $expected;
my $summary = $passed ? "same" : "different";
print "name=$name\n";
print "expected=$expected\n";
print "passed=$passed\n";
print "summary=$summary\n";
use strict;
use warnings;
my $name = "Ada Lovelace";
my $expected = "Ada";
my $passed = $name eq $expected;
my $summary = $passed ? "same" : "different";
print "name=$name\n";
print "expected=$expected\n";
print "passed=$passed\n";
print "summary=$summary\n";
use strict;
use warnings;
my $name = "";
my $expected = "Ada";
my $passed = $name eq $expected;
my $summary = $passed ? "same" : "different";
print "name=$name\n";
print "expected=$expected\n";
print "passed=$passed\n";
print "summary=$summary\n";
$name ← Ada, $expected ← Ada, $passed ← 1, $summary ← same
4my $name→ Ada = "Ada"; #@name="Ada Lovelace", ""5my $expected→ Ada = "Ada";6my $passed→ 1 = $nameAda eq $expectedAda;7my $summary→ same = $passed1 ? "same" : "different";89print "name=$nameAda\n";10print "expected=$expectedAda\n";11print "passed=$passed1\n";12print "summary=$summarysame\n";outputname=Ada expected=Ada passed=1 summary=same
$name ← Ada Lovelace, $expected ← Ada, $passed ← (empty), $summary ← different
4my $name→ Ada Lovelace = "Ada Lovelace";5my $expected→ Ada = "Ada";6my $passed→ (empty) = $nameAda Lovelace eq $expectedAda;7my $summary→ different = $passed(empty) ? "same" : "different";89print "name=$nameAda Lovelace\n";10print "expected=$expectedAda\n";11print "passed=$passed(empty)\n";12print "summary=$summarydifferent\n";outputname=Ada Lovelace expected=Ada passed= summary=different
$name ← (empty), $expected ← Ada, $passed ← (empty), $summary ← different
4my $name→ (empty) = "";5my $expected→ Ada = "Ada";6my $passed→ (empty) = $name(empty) eq $expectedAda;7my $summary→ different = $passed(empty) ? "same" : "different";89print "name=$name(empty)\n";10print "expected=$expectedAda\n";11print "passed=$passed(empty)\n";12print "summary=$summarydifferent\n";outputname= expected=Ada passed= summary=different