AcePerl
view release on metacpan or search on metacpan
t/sequence.t view on Meta::CPAN
#!/usr/local/bin/perl -w
# Tests of Ace::Sequence and Ace::Sequence::Feature
######################### We start with some black magic to print on failure.
use lib '..','../blib/lib','../blib/arch';
use constant HOST => $ENV{ACEDB_HOST} || 'aceserver.cshl.org';
use constant PORT => $ENV{ACEDB_PORT} || 2007;
BEGIN {$| = 1; print "1..54\n"; }
END {print "not ok 1\n" unless $loaded;}
use Ace::Sequence;
$loaded = 1;
print "ok 1\n";
######################### End of black magic.
sub test {
local($^W) = 0;
my($num, $true,$msg) = @_;
print($true ? "ok $num\n" : "not ok $num $msg\n");
}
test(2,$db = Ace->connect(-host=>HOST,-port=>PORT,-timeout=>50),"connection failure");
# uncomment to use with SMap test database (only valid on Lincoln's test machine)
#test(2,$db = Ace->connect(-path=>'~acedb/tempdb'),"connection failure");
die "Couldn't establish connection to database. Aborting tests.\n" unless $db;
# test whole clones
test(3,$clone = $db->fetch(Sequence=>'ZK154'),"fetch failure");
test(4,$zk154 = Ace::Sequence->new($clone),"new() failure");
test(5,$zk154->start==1,"start() failure");
test(6,$zk154->end==26547,"end() failure");
test(7,$zk154s = Ace::Sequence->new(-seq=>$clone,
-offset=>100,
-Length=>100),"new() failure");
test(8,$zk154s->start==101,"start() failure (2)");
test(9,$zk154s->end==200,"end() failure (2)");
test(10,$zk154s->length == 100,"length() failure");
test(11,length($zk154s->dna)==100,"dna() failure");
test(12,$zk154r = Ace::Sequence->new(-seq=>$clone,
-offset => 100,
-Length => -100),"new() failure");
test(13,$zk154r->start==101,"start() failure (3)");
test(14,$zk154r->end==2,"end() failure (3)");
test(15,$zk154r->length == -100,"length() failure");
test(16,length($zk154r->dna) == 100,"dna() failure");
# print "ok 14 # Skip, persistent off-by-one errors\n";
# print "ok 15 # Skip, persistent off-by-one errors\n";
# print "ok 16 # Skip, persistent off-by-one errors\n";
@features = sort { $a->start <=> $b->start; } $zk154->features('exon');
test(17,@features,'features() error');
test(18,$features[0]->start > 0,'features()->start error');
test(19,$features[0]->end-$features[0]->start +1 == $features[0]->length,'features()->end error');
test(20,$gff = $zk154->gff,'gff() error');
( run in 0.890 second using v1.01-cache-2.11-cpan-39bf76dae61 )