use Test::More tests => 20; require Graph::Undirected; require Graph::Traversal::DFS; use lib "t"; require "simple.pl"; # # The purpose of these tests is to check to see if particular # bugs have been fixed in Perl's Graph # my $g = Graph::Undirected->new(refvertexed => 1); ok 1; my $seq1 = Foo->new; my $seq2 = Foo->new; my $seq3 = Foo->new; my $seq4 = Foo->new; my $str = "ljfgouyouiyougs"; $g->add_vertices($seq1,$seq2,$seq3,$seq4); $g->add_edges([$seq1,$seq2],[$seq3,$seq4],[$seq3,$seq2]); my @vs = $g->vertices; # OK ok $vs[0]->xyz($str); my $c = $g->complete; # OK @vs = $c->vertices; ok $vs[0]->xyz($str); my $comp = $g->complement; # OK @vs = $comp->vertices; ok $vs[0]->xyz($str); @vs = $g->interior_vertices; # OK ok $vs[0]->xyz($str); my $apsp = $g->APSP_Floyd_Warshall; @vs = $apsp->path_vertices($seq1,$seq4); # OK ok $vs[0]->xyz($str); my $seq = $g->random_vertex; # OK ok $seq->xyz($str); my @rts = $g->articulation_points; ok @rts; my $t = Graph::Traversal::DFS->new($g); $t->dfs; @vs = $t->seen; for my $seq (@vs) { ok $seq->xyz($str); # NOT OK in version .73 } @vs = $g->articulation_points; ok $vs[0]->xyz($str); # OK in version .70 is scalar @vs, 2; my @cc = $g->connected_components; for my $ref (@cc) { for my $seq (@$ref) { ok $seq->xyz($str); # OK in version .70 } } my @bs = $g->bridges; ok $bs[0][0]->xyz($str); # NOT OK in version .73 my $cg = $g->connected_graph(super_component => sub { $_[0] }); @vs = $cg->vertices; ok $vs[0]->xyz($str); # OK in version .73 my @spd = $g->SP_Dijkstra($seq1,$seq4); # OK in version .70 my @spbf = $g->SP_Bellman_Ford($seq1,$seq4); # OK in version .70 __END__