4 # test for Bio::Tools::Run::Primer3
5 # written by Rob Edwards
9 use constant NUMTESTS => 8;
12 eval { require Test; };
18 plan tests => NUMTESTS;
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);
28 use Bio::Tools::Run::Primer3;
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");
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');