[BUG] bug 2598
[bioperl-live.git] / t / Exonerate.t
blobea5253b45b16c49f151e37b10a1867516b22ee5f
1 # -*-Perl-*- Test Harness script for Bioperl
2 # $Id$
4 use strict;
6 BEGIN {     
7     use lib 't/lib';
8         use BioperlTest;
9         
10         test_begin(-tests => 45);
11         
12         use_ok('Bio::SearchIO');
15 my ($searchio, $result,$hit,$hsp);
17 $searchio = Bio::SearchIO->new(-file => test_input_file('testdat.exonerate'),
18                               -format => 'exonerate');
19 my @data = ( [qw(ln27 416 Contig124 939
20                  293 416 -1 
21                  1   124 1 
22                  
23                  107 292 -1 
24                  178 363 1 
25                  
26                  66 106 -1
27                  899 939 1
28                  )],
29              [qw(ln74 644 Contig275 1296 
30                  601 644 -1
31                  901 944 1
32                  
33                  436 600 -1
34                  998 1162    1
36                  386 435 -1
37                  1247 1296 1
38                  
39                  )] );
42 my $val;
44 while( my $r = $searchio->next_result ) {
45     my $d = shift @data;
46     is($r->query_name, shift @$d);
47         SKIP: {
48                 $val = shift @$d;
49                 skip('no query length available in default output',1);
50             is($r->query_length, $val);
51                    };
52     
53     my $h = $r->next_hit;
54     is($h->name, shift @$d);
55         SKIP: {
56                 $val = shift @$d;
57                 skip( 'no hit length available in default output',1);
58             is($h->length, $val);
59                    };
60     while( my $hsp = $h->next_hsp ) {
61         is($hsp->query->start, shift @$d);
62         is($hsp->query->end, shift @$d);
63         is($hsp->query->strand, shift @$d);
64         
65         is($hsp->hit->start, shift @$d);
66         is($hsp->hit->end, shift @$d);
67         is($hsp->hit->strand, shift @$d);
68     }