Esempio n. 1
0
  /**
   * Returns a range that contains any value from {@code lower} to {@code upper}, where each
   * endpoint may be either inclusive (closed) or exclusive (open).
   *
   * @throws IllegalArgumentException if {@code lower} is greater than {@code upper}
   */
  public static <C extends Comparable<?>> Range<C> range(
      C lower, BoundType lowerType, C upper, BoundType upperType) {
    checkNotNull(lowerType);
    checkNotNull(upperType);

    Cut<C> lowerBound =
        (lowerType == BoundType.OPEN) ? Cut.aboveValue(lower) : Cut.belowValue(lower);
    Cut<C> upperBound =
        (upperType == BoundType.OPEN) ? Cut.belowValue(upper) : Cut.aboveValue(upper);
    return create(lowerBound, upperBound);
  }
 static {
   List<Cut<Integer>> cutsToTest = Lists.newArrayList();
   for (int i = MIN_BOUND - 1; i <= MAX_BOUND + 1; i++) {
     cutsToTest.add(Cut.belowValue(i));
     cutsToTest.add(Cut.aboveValue(i));
   }
   cutsToTest.add(Cut.<Integer>aboveAll());
   cutsToTest.add(Cut.<Integer>belowAll());
   CUTS_TO_TEST = ImmutableList.copyOf(cutsToTest);
 }
Esempio n. 3
0
 /** Returns a range that contains all values strictly greater than {@code endpoint}. */
 public static <C extends Comparable<?>> Range<C> greaterThan(C endpoint) {
   return create(Cut.aboveValue(endpoint), Cut.<C>aboveAll());
 }
Esempio n. 4
0
 /** Returns a range that contains all values less than or equal to {@code endpoint}. */
 public static <C extends Comparable<?>> Range<C> atMost(C endpoint) {
   return create(Cut.<C>belowAll(), Cut.aboveValue(endpoint));
 }
Esempio n. 5
0
 /**
  * Returns a range that contains all values strictly greater than {@code lower} and less than or
  * equal to {@code upper}.
  *
  * @throws IllegalArgumentException if {@code lower} is greater than {@code upper}
  */
 public static <C extends Comparable<?>> Range<C> openClosed(C lower, C upper) {
   return create(Cut.aboveValue(lower), Cut.aboveValue(upper));
 }