[Bioperl-l] test framework
   
    Jason Stajich
     
    jason@chg.mc.duke.edu
       
    Tue, 2 Jan 2001 12:19:38 -0500 (EST)
    
    
  
while I'm messing with it, does anyone have objections to using the built
in perl Test module available since perl 5.004 rather than our 
I agree it is wasted time to constantly move things from one test suite to
another ( I already tried to standardize our existing ones as best as
possible).  But a nice standard makes it easier for new people to write
tests and make them fit.  Any comments?
sub test ($$;$) {
    my($num, $true,$msg) = @_;
    print($true ? "ok $num\n" : "not ok $num $msg\n");
}
  
[ from perldoc Test ]
      use strict;
       use Test;
       # use a BEGIN block so we print our plan before MyModule is loaded
       BEGIN { plan tests => 14, todo => [3,4] }
       # load your module...
       use MyModule;
       ok(0); # failure
       ok(1); # success
       ok(0); # ok, expected failure (see todo list, above)
       ok(1); # surprise success!
       ok(0,1);             # failure: '0' ne '1'
       ok('broke','fixed'); # failure: 'broke' ne 'fixed'
       ok('fixed','fixed'); # success: 'fixed' eq 'fixed'
       ok('fixed',qr/x/);   # success: 'fixed' =~ qr/x/
     ok(sub { 1+1 }, 2);  # success: '2' eq '2'
       ok(sub { 1+1 }, 3);  # failure: '2' ne '3'
       ok(0, int(rand(2));  # (just kidding :-)
       my @list = (0,0);
       ok @list, 3, "\@list=".join(',',@list);      #extra diagnostics
       ok 'segmentation fault', '/(?i)success/';    #regex match
       skip($feature_is_missing, ...);    #do platform specific test
Jason Stajich
jason@chg.mc.duke.edu
Center for Human Genetics
Duke University Medical Center 
http://www.chg.duke.edu/