use Test::More tests => 128; use Graph; for my $m (0, 1) { for my $r (0, 1) { for my $h (0, 1) { my $g = Graph->new(countvertexed => $m, refvertexed => $r, hypervertexed => $h); print "# m = $m, c = $r, h = $h\n"; $g->add_vertex("a"); $g->add_vertex("a"); $g->add_vertex(my $b = []); $g->add_vertex($b); if ($g->hypervertexed) { $g->add_vertex("c", "d"); $g->add_vertex("c", "d"); } for (1, 2) { ok( $g->has_vertices( ) ); ok( $g->has_vertex("a") ); ok( $g->has_vertex($b ) ); if ($g->hypervertexed) { ok( $g->has_vertex("c", "d") ); } ok( !$g->has_vertex("e") ); } for (1, 2) { is( $g->get_vertex_count("a"), $m ? 2 : 1 ); is( $g->get_vertex_count($b ), $m ? 2 : 1 ); if ($g->hypervertexed) { is( $g->get_vertex_count("c", "d"), $m ? 2 : 1 ); } is( $g->get_vertex_count("e"), 0 ); } if (0) { is( $g->get_vertex_value("a"), "a" ); is_deeply( $g->get_vertex_value($b), $b ); if ($g->hypervertexed) { is_deeply( $g->get_vertex_value("c", "d"), $h ? "d" : "c" ); # @todo } is( $g->get_vertex_value("e"), undef); } } } }