$ cat graph.t
#!/usr/bin/env perl
use strict;
use warnings;
use Graph;
use Test::More qw( no_plan );
my @vertices = qw( Jolt Lord Tornado );
my $g = Graph->new(vertices => [ @vertices ]);
ok(defined $g, "Constructor returned defined value");
isa_ok($g, 'Graph');
for my $v (@vertices) {
ok($g->has_vertex($v), "vertex $v");
}
my @edges = (
[ 'Tornado' => 'Jolt' ],
[ 'Tornado' => 'Lord' ],
);
for my $e (@edges) {
ok($g->add_edge(@{$e}), sprintf("Add edge %-12s -> %s", @{$e}));
}
####
$ prove -v graph.t
graph.t ..
ok 1 - Constructor returned defined value
ok 2 - An object of class 'Graph' isa 'Graph'
ok 3 - vertex Jolt
ok 4 - vertex Lord
ok 5 - vertex Tornado
ok 6 - Add edge Tornado -> Jolt
ok 7 - Add edge Tornado -> Lord
1..7
ok
All tests successful.
Files=1, Tests=7, 0 wallclock secs ( 0.02 usr 0.00 sys + 0.11 cusr 0.00 csys = 0.13 CPU)
Result: PASS
####
ok(! $g->add_edge( 'Lord' => 'Tornado '),
"I expect that I cannot add Lord -> Tornado edge");
####
$ prove -v graph.t
graph.t ..
ok 1 - Constructor returned defined value
ok 2 - An object of class 'Graph' isa 'Graph'
ok 3 - vertex Jolt
ok 4 - vertex Lord
ok 5 - vertex Tornado
ok 6 - Add edge Tornado -> Jolt
ok 7 - Add edge Tornado -> Lord
not ok 8 - I expect that I cannot add Lord -> Tornado edge
# Failed test 'I expect that I cannot add Lord -> Tornado edge'
# at graph.t line 23.
1..8
# Looks like you failed 1 test of 8.
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/8 subtests
Test Summary Report
-------------------
graph.t (Wstat: 256 Tests: 8 Failed: 1)
Failed test: 8
Non-zero exit status: 1
Files=1, Tests=8, 0 wallclock secs ( 0.01 usr 0.01 sys + 0.11 cusr 0.00 csys = 0.13 CPU)
Result: FAIL