[BUG] bug 2598
[bioperl-live.git] / t / Root-Utilities.t
blobdfd4c2793f4d244cfd564f30d1aa41684a9bdb00
1 # -*-Perl-*- Test Harness script for Bioperl
2 # $Id$
5 use strict;
7 BEGIN { 
8     use lib 't/lib';
9     use BioperlTest;
10     
11     test_begin(-tests => 50);
12     
13         use_ok('Bio::Root::Utilities');
16 # Object creation
17 my $u = Bio::Root::Utilities->new();
18 isa_ok($u, 'Bio::Root::Utilities') ;
20 # month2num() and num2month()
22 my @month = qw(XXX Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec);
23 for my $i (1 .. 12) {
24   is $u->month2num($month[$i]), $i;
25   is $u->num2month($i), $month[$i];
28 # untaint()
30 is $u->untaint(''), '';
31 is $u->untaint('nice string'), 'nice string';
32 is $u->untaint('bad *?&^$! string'), 'bad ';
33 is $u->untaint( q{100% relaxed&;''\"|*?!~<>^()[]{}$}, 1 ), '100% relaxed';
35 # mean_stdev()
37 my($mu,$sd);
39 ($mu,$sd) = $u->mean_stdev();
40 is $mu, undef;
41 is $sd, undef;
43 ($mu,$sd) = $u->mean_stdev(42);
44 is $mu, 42;
45 is $sd, undef;
47 ($mu,$sd) = $u->mean_stdev(-1,0,1);
48 is $mu, 0;
49 is $sd, 1;
51 # file_date(), file_flavor(), date_format()
53 my $file = test_input_file('test.txt');
54 my $fdate = $u->file_date($file);
55 like $fdate ,  qr/\d{4}-\d{2}-\d{2}/, 'file_date()';
56 ok $u->file_flavor($file), 'unix (\n or 012 or ^J)';
58 my $date = $u->date_format();
59 like $date, qr/\d{4}-\d{2}-\d{2}/, 'date format';
60 my $date2 = $u->date_format('yyyy-mmm-dd', $date);
61 like $date2 , qr/\d{4}-[a-z]{3}-\d{2}/i, 'date format';
62 my $date3 = $u->date_format('mdhms');
63 like $date3 , qr/[a-z]{3}\d{1,2} \d{1,2}:\d{1,2}:\d{1,2}/, 'date format';
64 my $date4 = $u->date_format('d-m-y', '11/22/60');
65 like $date4 , qr/\d{1,2}-[a-z]{3}-\d{4}/i, 'date format';
66 my $date5 = $u->date_format('mdy', '1/5/01');
67 like $date5 , qr/[a-z]{3} \d{1,2}, \d{4}/i, 'date format';
69 # External executable-related functions.
71 my $exe = $u->find_exe('some-weird-thing-no-one-will-have');
72 ok ! defined $exe ;
74 # compress() and uncompress() using gzip.
75 SKIP: {
76     my $gzip = $u->find_exe('gzip');
77     skip "gzip not found, skipping gzip tests", 6 unless $gzip;
78     ok -x $gzip;
79     
80     my $zfile = $u->compress($file);
81     like $zfile, qr/$file.gz|tmp.bioperl.gz/;
82     ok -s $zfile;
83     if ($zfile =~ /tmp.bioperl.gz/) {
84         ok -e $file;
85     }
86     else {
87         ok ! -e $file;
88     }
89     my $unzfile = $u->uncompress($zfile);
90     ok ! -e $zfile;
91     ok -e $file;
94 # send_mail()
96 # $u->send_mail(-to=>'sac@bioperl.org',  # <--- your address here!
97 #               -subj=>'Root-Utilities.t',
98 #               -msg=>'Hey, your send_mail() method works!');