2 ## Bioperl Test Harness Script for Modules
5 # Before `make install' is performed this script should be runnable with
6 # `make test'. After `make install' it should work as `perl test.t'
10 # to handle systems with no installed Test module
11 # we include the t dir (where a copy of Test.pm is located)
13 eval { require Test; };
19 eval { require 'Graph.pm' };
21 print STDERR "\nGraph.pm doesn't seem to be installed on this system -- the GO Parser needs it...\n\n";
30 use Bio::Ontology::SimpleGOEngine::GraphAdaptor;
32 my $g=new Bio::Ontology::SimpleGOEngine::GraphAdaptor;
33 my $graph_version=( defined($Graph::VERSION) && $Graph::VERSION >= 0.5 ) ? 'new' : 'old';
34 my $adaptor_class=$graph_version eq 'new' ?
35 'Bio::Ontology::SimpleGOEngine::GraphAdaptor' : 'Bio::Ontology::SimpleGOEngine::GraphAdaptor02';
36 ok (ref $g, $adaptor_class);
38 $g->add_vertex('vertex0');
39 ok($g->has_vertex('vertex0'));
40 ok(!$g->has_vertex('vertex1'));
42 ok (@v==1 && $v[0] eq 'vertex0') ;
44 $g->add_edge('vertex0','vertex1');
45 ok($g->has_edge('vertex0','vertex1'));
46 ok(!$g->has_edge('vertex0','vertex'));
48 ok (@e==1 && $e[0]->[0] eq 'vertex0' && $e[0]->[1] eq 'vertex1') ;
50 @e=$g->edges_at('vertex0');
51 ok (@e==1 && $e[0]->[0] eq 'vertex0' && $e[0]->[1] eq 'vertex1') ;
53 @v=$g->predecessors('vertex1');
54 ok (@v==1 && $v[0] eq 'vertex0');
56 @v=$g->successors('vertex0');
57 ok (@v==1 && $v[0] eq 'vertex1');
59 @v=$g->source_vertices;
60 ok (@v==1 && $v[0] eq 'vertex0');
63 ok (@v==1 && $v[0] eq 'vertex1');
65 $g->set_vertex_attribute('vertex0','ATTR0','vertex0_ATTR0');
66 $g->set_vertex_attribute('vertex0','ATTR1','vertex0_ATTR1');
67 $g->set_vertex_attribute('vertex1','ATTR0','vertex1_ATTR0');
68 $g->set_vertex_attribute('vertex1','ATTR1','vertex1_ATTR1');
69 ok ($g->get_vertex_attribute('vertex0','ATTR0'),'vertex0_ATTR0');
70 ok ($g->get_vertex_attribute('vertex0','ATTR1'),'vertex0_ATTR1');
71 ok ($g->get_vertex_attribute('vertex1','ATTR0'),'vertex1_ATTR0');
72 ok ($g->get_vertex_attribute('vertex1','ATTR1'),'vertex1_ATTR1');
74 $g->set_edge_attribute('vertex0','vertex1','ATTR0','vertex0_vertex1_ATTR0');
75 $g->set_edge_attribute('vertex0','vertex1','ATTR1','vertex0_vertex1_ATTR1');
76 ok ($g->get_edge_attribute('vertex0','vertex1','ATTR0'),'vertex0_vertex1_ATTR0');
77 ok ($g->get_edge_attribute('vertex0','vertex1','ATTR1'),'vertex0_vertex1_ATTR1');