Update
[bioperl-network.git] / t / Graph-Seq.t
blob3e17c2d39e32ab991aabd24463b33a246923cbde
1 # This is -*-Perl-*- code#
2 # Bioperl Test Harness Script for Modules#
4 use strict;
6 BEGIN {
7         use Bio::Root::Test;
8         test_begin(-tests => 21,
9                            -requires_module => 'Graph');
11         use_ok('Graph::Undirected');
12         use_ok('Graph::Traversal::DFS');
13         use_ok('Bio::Seq');
18 # The purpose of these tests is to check to see if bugs have been
19 # fixed in Perl's Graph, particularly if refvertexed == 1
21 my $g = Graph::Undirected->new(refvertexed => 1);
23 ok 1;
25 my $seq1 = Bio::Seq->new(-seq => "aaaaaaa");
26 my $seq2 = Bio::Seq->new(-seq => "ttttttt");
27 my $seq3 = Bio::Seq->new(-seq => "ccccccc");
28 my $seq4 = Bio::Seq->new(-seq => "ggggggg");
30 $g->add_vertices($seq1,$seq2,$seq3,$seq4);
31 $g->add_edges([$seq1,$seq2],[$seq3,$seq4],[$seq3,$seq2]);
33 my @vs = $g->vertices;
34 ok $vs[0]->seq;
36 my $c = $g->complete;
37 @vs = $c->vertices;
38 ok $vs[0]->seq;
40 my $comp = $g->complement;
41 @vs = $comp->vertices;
42 ok $vs[0]->seq;
44 @vs = $g->interior_vertices;
45 ok $vs[0]->seq;
47 my $apsp = $g->APSP_Floyd_Warshall;
48 @vs = $apsp->path_vertices($seq1,$seq4);
49 ok $vs[0]->seq;
51 my $seq = $g->random_vertex;
52 ok $seq->seq;
54 my $t = Graph::Traversal::DFS->new($g);
55 $t->dfs;
56 @vs = $t->seen;
57 for my $seq (@vs) {
58         ok $seq->seq;
61 # Fixed in Graph .86
62 @vs = $g->articulation_points; 
63 ok $vs[0]->seq; # not OK in Graph v. .80
64 ok scalar @vs == 2;
66 my @cc = $g->connected_components;
67 for my $ref (@cc) {
68         for my $seq (@$ref) {
69                 ok $seq->seq;
70         }
73 my @bs = $g->bridges;
74 ok $bs[0][0]->seq;
76 my $cg = $g->connected_graph;
77 @vs = $cg->vertices;
78 # ok $vs[0]->seq; incorrect usage
80 my @spd = $g->SP_Dijkstra($seq1,$seq4);
82 my @spbf = $g->SP_Bellman_Ford($seq1,$seq4);
84 __END__