tag fourth (and hopefully last) alpha
[bioperl-live.git] / branch-1-6 / t / Tools / EUtilities / epost.t
blob61749b04a7f9b083427cc5b74f09374ed6c39ceb
1 # -*-Perl-*- Test Harness script for Bioperl
2 # $Id: epost.t 15112 2008-12-08 18:12:38Z sendu $
4 use strict;
5 use warnings;
7 BEGIN {
8     use lib '.';
9         use Bio::Root::Test;
10         
11         test_begin(-tests => 17,
12                            -requires_module => 'XML::Simple');
13         
14     use_ok('Bio::Tools::EUtilities');
15     use_ok('Bio::Tools::EUtilities::EUtilParameters');
18 my $eutil = Bio::Tools::EUtilities->new(
19     -eutil      => 'epost',
20     -file       => test_input_file('eutils','epost.xml'));
22 # all parsers and data objects implement eutil() and datatype() (generally for
23 # debuggin purposes, but others may find them useful)
24 isa_ok($eutil, 'Bio::Tools::EUtilities::EUtilDataI');
25 isa_ok($eutil, 'Bio::Tools::EUtilities::Query');
26 is($eutil->eutil, 'epost', 'eutil');
27 is($eutil->datatype, 'query', 'datatype');
28 my $history = $eutil->next_History;
29 isa_ok($history, 'Bio::Tools::EUtilities::HistoryI');
30 isa_ok($history, 'Bio::Tools::EUtilities::EUtilDataI');
31 is($history->eutil, 'epost', 'eutil');
32 is($history->datatype, 'history', 'eutil');
34 # simple epost does not have anything other than the webenv/query_key
35 is($history->get_webenv,
36    '0rACq8_iP87yHkqqm0SBaU38LzWLHIUd-J4QozMr31bh_XO5KAxLr5Q0o2e@03ED1E11941B69F1_0100SID',
37    'get_webenv');
38 is($history->get_query_key, 1, 'get_query_key');
39 is(join(',',$history->history),
40    '0rACq8_iP87yHkqqm0SBaU38LzWLHIUd-J4QozMr31bh_XO5KAxLr5Q0o2e@03ED1E11941B69F1_0100SID,1', 'history');
41 is($eutil->get_database, undef, 'get_database');
42 is($eutil->get_ids, undef, 'get_ids');
44 my @ids = qw(1621261 89318838 68536103 20807972 730439);
46 # add Parameters
47 my $pb = Bio::Tools::EUtilities::EUtilParameters->new(-eutil => 'epost',
48                                                                            -db => 'protein',
49                                                                            -id => \@ids);
51 $eutil->parameter_base($pb);
53 is($eutil->get_database, 'protein', 'get_database');
54 my @ids2 = $eutil->get_ids;
55 is_deeply(\@ids2, \@ids, 'get_ids');