diff options
| author | Rafael H. Schloming <rhs@apache.org> | 2008-06-16 21:02:45 +0000 |
|---|---|---|
| committer | Rafael H. Schloming <rhs@apache.org> | 2008-06-16 21:02:45 +0000 |
| commit | ab5ed1383ac95e1d994aaf742a0aeeeade69f0d9 (patch) | |
| tree | 0456645c88fb77783afebf30ee691c695f5d1098 /java/common/src/main | |
| parent | 35790b4c769bb7a49dbb89e41adc41e8c4156676 (diff) | |
| download | qpid-python-ab5ed1383ac95e1d994aaf742a0aeeeade69f0d9.tar.gz | |
QPID-901: add tests for RangeSet; fixed a bug found by the new tests
git-svn-id: https://svn.apache.org/repos/asf/incubator/qpid/trunk/qpid@668309 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'java/common/src/main')
3 files changed, 27 insertions, 21 deletions
diff --git a/java/common/src/main/java/org/apache/qpid/util/Serial.java b/java/common/src/main/java/org/apache/qpid/util/Serial.java index cfc97c3d04..44712984c0 100644 --- a/java/common/src/main/java/org/apache/qpid/util/Serial.java +++ b/java/common/src/main/java/org/apache/qpid/util/Serial.java @@ -1,5 +1,7 @@ package org.apache.qpid.util; +import java.util.Comparator; + import org.apache.qpid.SerialException; /** @@ -10,6 +12,14 @@ import org.apache.qpid.SerialException; public class Serial { + public static final Comparator<Integer> COMPARATOR = new Comparator<Integer>() + { + public int compare(Integer s1, Integer s2) + { + return Serial.compare(s1, s2); + } + }; + /** * Compares two numbers using serial arithmetic. * diff --git a/java/common/src/main/java/org/apache/qpidity/transport/Range.java b/java/common/src/main/java/org/apache/qpidity/transport/Range.java index 780f9e5997..14522cd45f 100644 --- a/java/common/src/main/java/org/apache/qpidity/transport/Range.java +++ b/java/common/src/main/java/org/apache/qpidity/transport/Range.java @@ -32,7 +32,7 @@ import static org.apache.qpid.util.Serial.*; * @author Rafael H. Schloming */ -public class Range +public final class Range { private final int lower; private final int upper; @@ -71,7 +71,8 @@ public class Range public boolean touches(Range range) { - return (includes(range.upper + 1) || includes(range.lower - 1) || + return (intersects(range) || + includes(range.upper + 1) || includes(range.lower - 1) || range.includes(upper + 1) || range.includes(lower - 1)); } diff --git a/java/common/src/main/java/org/apache/qpidity/transport/RangeSet.java b/java/common/src/main/java/org/apache/qpidity/transport/RangeSet.java index 5097c849ee..e05e399262 100644 --- a/java/common/src/main/java/org/apache/qpidity/transport/RangeSet.java +++ b/java/common/src/main/java/org/apache/qpidity/transport/RangeSet.java @@ -20,7 +20,6 @@ */ package org.apache.qpidity.transport; -import java.util.Collection; import java.util.Iterator; import java.util.ListIterator; import java.util.LinkedList; @@ -33,7 +32,7 @@ import static org.apache.qpid.util.Serial.*; * @author Rafael H. Schloming */ -public class RangeSet implements Iterable<Range> +public final class RangeSet implements Iterable<Range> { private LinkedList<Range> ranges = new LinkedList<Range>(); @@ -61,6 +60,19 @@ public class RangeSet implements Iterable<Range> return false; } + public boolean includes(int n) + { + for (Range r : this) + { + if (r.includes(n)) + { + return true; + } + } + + return false; + } + public void add(Range range) { ListIterator<Range> it = ranges.listIterator(); @@ -127,21 +139,4 @@ public class RangeSet implements Iterable<Range> return str.toString(); } - public static final void main(String[] args) - { - RangeSet ranges = new RangeSet(); - ranges.add(5, 10); - System.out.println(ranges); - ranges.add(15, 20); - System.out.println(ranges); - ranges.add(23, 25); - System.out.println(ranges); - ranges.add(12, 14); - System.out.println(ranges); - ranges.add(0, 1); - System.out.println(ranges); - ranges.add(3, 11); - System.out.println(ranges); - } - } |
