Allow falling back to any strigified Bio::AnnotationI for 'gene_name'
[bioperl-live.git] / t / Tools / Primer3.t
blob02b068d6cb547ee8f49a9d1602b1e24365a3079a
1 # -*-Perl-*- Test Harness script for Bioperl
2 # $Id$
5 use strict;
7 BEGIN {
8     use lib '.';
9     use Bio::Root::Test;
10     
11     test_begin(-tests => 14,
12                -requires_module => 'Clone');
13         
14     use_ok('Bio::Tools::Primer3');
17 my ($p3, $num, $primer);
19 ok $p3 = Bio::Tools::Primer3->new(-file => test_input_file('primer3_output.txt'));
20 ok $num = $p3->number_of_results;
21 is $num, 5 or diag "Got $num";
22 ok $num = $p3->all_results;
23 is defined $num, 1 or diag "Can't get all results";
24 ok $num = $p3->primer_results(1);
25 is defined $num, 1 or diag "Can't get results for 1";
26 ok $primer = $p3->next_primer;
27 isa_ok $primer, "Bio::Seq::PrimedSeq" or diag
28   "reference for primer stream is not right";
30 # get the left primer
31 my $left_primer = $primer->get_primer('left');
33 # get the sequence for that primer. This is a test to verify behavior 
34 # on the bioperl list in or about 050315
35 my $seqobj = $left_primer->seq();
37 my $seq = $seqobj->seq();
39 my $other_left_primer = $primer->get_primer();
41 # a different way to access the primers in the stream
42 my $alt = $p3->primer_results(0,'PRIMER_LEFT_INPUT');
44 # next one
45 ok $primer = $p3->next_primer;
46 # get the left primer
47 my $left_primer_seq = $primer->get_primer('left')->seq;
48 is $left_primer_seq->seq, "GAGGGTAACACGCTGGTCAT";
50 # bug 2862
51 ok $p3 = Bio::Tools::Primer3->new(-file=>test_input_file('bug2862.pmr'));
52 $num=0;
53 while ($p3->next_primer) { $num++ };
54 is $p3->number_of_results, $num, 'bug 2862';