New INSTALL.WIN doc (from wiki)
[bioperl-live.git] / t / primer3.t
blobd8c87ef9a2b74f8f504b6004f15ad126495ac598
1 # -*-Perl-*- mode (to keep my emacs happy)
2 ## $Id$
4 # test for Bio::Tools::Primer3.pm
5 # written by Rob Edwards
6 # and Chad Matsalla
8 use strict;
9 use vars qw($NUMTESTS $DEBUG $ERROR $XML_ERROR);
12 BEGIN {
13     eval { require Test; };
14     if( $@ ) {
15         use lib 't','..';
16     }
17     use Test;
18     $NUMTESTS  = 24;
20     plan tests => $NUMTESTS;
22     eval {  require Clone; };
23     if ( $@ ) {
24         warn("Clone not installed. This means that the module is not usable. Skipping tests\n");
25         $ERROR = 1;
26     }
29 END {
30         foreach ( $Test::ntest..$NUMTESTS) {
31         skip("Missing dependencies. Skipping tests",1);
32     }
35 exit 0 if $ERROR;
37 require Bio::Tools::Primer3;
38 ok(1);
40 my ($p3, $num, $primer);
42 ok $p3 = Bio::Tools::Primer3->new(-file => File::Spec->catfile(qw(t data primer3_output.txt)));
43 ok $num = $p3->number_of_results;
44 ok $num, 5, "Got $num";
45 ok $num = $p3->all_results;
46 ok defined $num, 1, "Can't get all results";
47 ok $num = $p3->primer_results(1);
48 ok defined $num, 1, "Can't get results for 1";
49 ok $primer = $p3->next_primer;
50 ok ref($primer) eq "Bio::Seq::PrimedSeq", 1, 
51   "reference for primer stream is not right";
53 # get the left primer
54 my $left_primer = $primer->get_primer('left');
56 # get the sequence for that primer. This is a test to verify behavior 
57 # on the bioperl list in or about 050315
58 my $seqobj = $left_primer->seq();
60 my $seq = $seqobj->seq();
62 my $other_left_primer = $primer->get_primer();
64 # a different way to access the primers in the stream
65 my $alt = $p3->primer_results(0,'PRIMER_LEFT_INPUT');
67 # next one
68 ok $primer = $p3->next_primer;
69 # get the left primer
70 my $left_primer_seq = $primer->get_primer('left')->seq;
71 ok $left_primer_seq->seq, "GAGGGTAACACGCTGGTCAT";