@Override public String toString() { return hasMaxValue() ? min + "-" + max : String.valueOf(min); }
private void calculateMaxRange(Range[] ranges) { if (ranges == null || ranges.length == 0) { maxRange = 0; return; } open = false; maxRange = ranges[0].getMin(); for (int i = 0; i < ranges.length; i++) { int upperBound; if (ranges[i].hasMaxValue()) { upperBound = ranges[i].getMax(); } else { upperBound = ranges[i].getMin(); if (upperBound > maxRange) { open = true; } } if (upperBound > maxRange) { maxRange = upperBound; } } }
private void setMaxValues(final Range[] ranges) { // Array of integers to track range values by index Integer[] c = new Integer[ranges.length]; for (int i=0; i<c.length; i++) { c[i] = i; } //sort array of Ranges Arrays.sort(c, new Comparator<Integer>() { @Override public int compare(Integer r1, Integer r2) { return ranges[r1].getMin()-ranges[r2].getMin(); } } ); //set max values for all unbound ranges (except last range) for (int i = 0; i < c.length - 1; i++) { if (!ranges[c[i]].hasMaxValue()) { //set max value to (min value - 1) of the next range ranges[c[i]] = new Range(ranges[c[i]].getMin(),ranges[c[i+1]].getMin() - 1); } } if (forceDisjointRanges) { verifyRanges(ranges); } }
public void testSetAsTextWithNoSpaces() { pe.setAsText("15,32"); // result should be 15-31, 32-unbound assertEquals(2, ranges.length); assertEquals(15, ranges[0].getMin()); assertEquals(31, ranges[0].getMax()); assertEquals(32, ranges[1].getMin()); assertFalse(ranges[1].hasMaxValue()); }
public void testSetAsText() { pe.setAsText("15, 32, 1-10, 33"); // result should be 15-31, 32-32, 1-10, 33-unbound assertEquals(4, ranges.length); assertEquals(15, ranges[0].getMin()); assertEquals(31, ranges[0].getMax()); assertEquals(32, ranges[1].getMin()); assertEquals(32, ranges[1].getMax()); assertEquals(1, ranges[2].getMin()); assertEquals(10, ranges[2].getMax()); assertEquals(33, ranges[3].getMin()); assertFalse(ranges[3].hasMaxValue()); }
@Override public String toString() { return hasMaxValue() ? min + "-" + max : String.valueOf(min); }
private void calculateMaxRange(Range[] ranges) { if (ranges == null || ranges.length == 0) { maxRange = 0; return; } open = false; maxRange = ranges[0].getMin(); for (int i = 0; i < ranges.length; i++) { int upperBound; if (ranges[i].hasMaxValue()) { upperBound = ranges[i].getMax(); } else { upperBound = ranges[i].getMin(); if (upperBound > maxRange) { open = true; } } if (upperBound > maxRange) { maxRange = upperBound; } } }
private void setMaxValues(final Range[] ranges) { // Array of integers to track range values by index Integer[] c = new Integer[ranges.length]; for (int i=0; i<c.length; i++) { c[i] = i; } //sort array of Ranges Arrays.sort(c, new Comparator<Integer>() { @Override public int compare(Integer r1, Integer r2) { return ranges[r1].getMin()-ranges[r2].getMin(); } } ); //set max values for all unbound ranges (except last range) for (int i = 0; i < c.length - 1; i++) { if (!ranges[c[i]].hasMaxValue()) { //set max value to (min value - 1) of the next range ranges[c[i]] = new Range(ranges[c[i]].getMin(),ranges[c[i+1]].getMin() - 1); } } if (forceDisjointRanges) { verifyRanges(ranges); } }