Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
get range tests running again (even if they fail)
  • Loading branch information
Chris Fields committed Sep 4, 2012
1 parent bc60cb5 commit 2a2dcda
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 10 deletions.
14 changes: 7 additions & 7 deletions lib/Bio/Role/Range.pm
@@ -1,7 +1,7 @@
subset RangeTest where .lc eq any <ignore weak strong>;

role Bio::Role::Range {

subset RangeTest of Str where .lc eq any <ignore weak strong>;

has Int $.start is rw;
has Int $.end is rw;
has Int $.strand is rw;
Expand All @@ -12,22 +12,22 @@ our Int method length {
return self.end - self.start + 1;
}

our Bool method overlaps (Bio::Role::Range $range, RangeTest :$test = 'ignore') {
our Bool method overlaps (Bio::Role::Range $range, :$test) {
(self!teststranded($range, :$test) && !((self.start() > $range.end() || self.end() < $range.start())))
?? True !! False;
}

our Bool method contains (Bio::Role::Range $range, RangeTest :$test = 'ignore') {
our Bool method contains (Bio::Role::Range $range, :$test = 'ignore') {
(self!teststranded($range, :$test) && $range.start() >= self.start() && $range.end() <= self.end())
?? True !! False;
}

our Bool method equals (Bio::Role::Range $range, RangeTest :$test = 'ignore') {
our Bool method equals (Bio::Role::Range $range, :$test = 'ignore') {
(self!teststranded($range, :$test) && self.start() == $range.start() && self.end() == $range.end())
?? True !! False;
}

our Bool method !teststranded (Bio::Role::Range $r, RangeTest :$test = 'ignore') {
our Bool method !teststranded (Bio::Role::Range $self: Bio::Role::Range $r, :$test = 'ignore') {
given $test {
when 'ignore' {
return True
Expand All @@ -54,7 +54,7 @@ our Bool method !teststranded (Bio::Role::Range $r, RangeTest :$test = 'ignore')
#
# May be rakudobug, may be the signature (and me), needs checking

our Bio::Role::Range method intersection ( RangeTest :$test = 'ignore', *@ranges) {
our Bio::Role::Range method intersection ( :$test = 'ignore', *@ranges) {
my $intersect;
while @ranges > 0 {
$intersect //= self;
Expand Down
6 changes: 3 additions & 3 deletions t/Range.t
Expand Up @@ -109,9 +109,9 @@ for 0..@ranges.end -> $i {
my $r1 = @ranges[$i];
my $r2 = @ranges[$j];
for <ignore weak strong> -> $test {
is($r1.overlaps($r2, :$test), ?@tests.shift, ~$r1 ~ ' overlaps ' ~ $r2 ~ ": $test");
is($r1.contains($r2, :$test), ?@tests.shift, ~$r1 ~ ' contains ' ~ $r2 ~ ": $test");
is($r1.equals($r2, :$test), ?@tests.shift, ~$r1 ~ ' equals ' ~ $r2 ~ ": $test");
is($r1.overlaps($r2, :test<$test>), ?@tests.shift, ~$r1 ~ ' overlaps ' ~ $r2 ~ ": $test");
is($r1.contains($r2, :test<$test>), ?@tests.shift, ~$r1 ~ ' contains ' ~ $r2 ~ ": $test");
is($r1.equals($r2, :test<$test>), ?@tests.shift, ~$r1 ~ ' equals ' ~ $r2 ~ ": $test");
}
}
}
Expand Down

0 comments on commit 2a2dcda

Please sign in to comment.