Fix tests; need to look at Analysis::soap::results()
[bioperl-run.git] / t / Primer3.t
blob700273e39d8ee4d1545dd5c18e296420d54b0ac6
1 #-*-Perl-*-
2 ## $Id$
4 # test for Bio::Tools::Run::Primer3
5 # written by Rob Edwards
7 use strict;
9 use constant NUMTESTS => 8;
11 BEGIN {
12     eval { require Test; };
13     if( $@ ) {
14         use lib 't','..';
15     }
16     use Test;
18     plan tests => NUMTESTS;
21 END {
22     for ( $Test::ntest..NUMTESTS ) {
23         skip("primer3 program not found. Skipping. You can get this from http://www-genome.wi.mit.edu/genome_software/other/primer3.html",1);
24     }
28 use Bio::Tools::Run::Primer3;
29 use Bio::SeqIO;
30 ok(1);
31 my ($seqio, $seq, $primer3, $args, $results, $num_results);
32 $seqio=Bio::SeqIO->new(-file=>'t/data/Primer3.fa');
33 $seq=$seqio->next_seq;
34 ok ref($seq) eq "Bio::Seq", 1, "Couldn't read the sequence in t/data/dna1.fa";
35 ok $primer3 = Bio::Tools::Run::Primer3->new(-seq=>$seq);
37 if( ! $primer3->executable ) {
38     $primer3->program_name('primer3_core');
41 unless ($primer3->executable) {
42     warn("Primer3 program not found. Skipping tests $Test::ntest to NUMTESTS.\n");
43    exit 0;
47 $args = $primer3->arguments;
48 ok($$args{'PRIMER_SEQUENCE_ID'}, "(string, optional) an id. Optional. Note must be present if PRIMER_FILE_FLAG is set");
49 ok $primer3->add_targets('PRIMER_SEQUENCE_ID'=>'test seq');
50 ok $results = $primer3->run;
51 ok( $num_results = $results->number_of_results,5);
52 ok( $results->{input_options}->{PRIMER_SEQUENCE_ID} eq 'test seq');