datastore: Have RangeCondition extend Predicate
authorGeneviève Bastien <gbastien+lttng@versatic.net>
Thu, 19 Jan 2017 15:14:58 +0000 (10:14 -0500)
committerGenevieve Bastien <gbastien+lttng@versatic.net>
Thu, 2 Feb 2017 14:13:49 +0000 (09:13 -0500)
The contains method is replaced by the Predicate's test method. This will
allow to use the RangeCondition as a Predicate in some situations.

Change-Id: I85ab49a5663c5179f22d094b0a8e11568c1b90db
Signed-off-by: Geneviève Bastien <gbastien+lttng@versatic.net>
Reviewed-on: https://git.eclipse.org/r/89119
Reviewed-by: Alexandre Montplaisir <alexmonthy@efficios.com>
Reviewed-by: Hudson CI
statesystem/org.eclipse.tracecompass.datastore.core.tests/src/org/eclipse/tracecompass/internal/datastore/core/condition/ContinuousRangeConditionTest.java
statesystem/org.eclipse.tracecompass.datastore.core.tests/src/org/eclipse/tracecompass/internal/datastore/core/condition/DiscreteRangeConditionTest.java
statesystem/org.eclipse.tracecompass.datastore.core.tests/src/org/eclipse/tracecompass/internal/provisional/datastore/core/condition/RangeConditionTest.java
statesystem/org.eclipse.tracecompass.datastore.core/src/org/eclipse/tracecompass/internal/datastore/core/condition/ContinuousRangeCondition.java
statesystem/org.eclipse.tracecompass.datastore.core/src/org/eclipse/tracecompass/internal/datastore/core/condition/DiscreteRangeCondition.java
statesystem/org.eclipse.tracecompass.datastore.core/src/org/eclipse/tracecompass/internal/provisional/datastore/core/condition/RangeCondition.java

index 5678636801d383f81558f86da6ec35cf73e4c1ee..f05fc14fa2f4f7fdcf3bac8aaae19f74370f4c5a 100644 (file)
@@ -51,12 +51,12 @@ public class ContinuousRangeConditionTest {
      * Test that the right elements are contained in the condition.
      */
     @Test
-    public void testContains() {
-        assertFalse(CONDITION.contains(-5));
-        assertTrue(CONDITION.contains(LOW));
-        assertTrue(CONDITION.contains(5));
-        assertTrue(CONDITION.contains(HIGH));
-        assertFalse(CONDITION.contains(15));
+    public void testPredicate() {
+        assertFalse(CONDITION.test(-5));
+        assertTrue(CONDITION.test(LOW));
+        assertTrue(CONDITION.test(5));
+        assertTrue(CONDITION.test(HIGH));
+        assertFalse(CONDITION.test(15));
     }
 
     /**
index 68670621bea774e4e5ead96e4dc3bfc70212f9c1..d26c3530921cc669fdad86ee29d6b4fc96c46506 100644 (file)
@@ -56,13 +56,13 @@ public class DiscreteRangeConditionTest {
      * Test that the right elements are contained in the condition.
      */
     @Test
-    public void testContains() {
-        assertFalse(CONDITION.contains(-5));
+    public void testPredicate() {
+        assertFalse(CONDITION.test(-5));
         for (Integer v : VALUES) {
-            assertTrue(CONDITION.contains(v));
-            assertFalse(CONDITION.contains(v + 1));
+            assertTrue(CONDITION.test(v));
+            assertFalse(CONDITION.test(v + 1));
         }
-        assertFalse(CONDITION.contains(15));
+        assertFalse(CONDITION.test(15));
     }
 
     /**
@@ -70,21 +70,21 @@ public class DiscreteRangeConditionTest {
      * affect the condition
      */
     @Test
-    public void testContainsAndAdd() {
+    public void testPredicateAndAdd() {
         List<Integer> values = new ArrayList<>();
         values.add(1);
         values.add(5);
         DiscreteRangeCondition<Integer> condition = new DiscreteRangeCondition<>(values);
-        assertFalse(condition.contains(-5));
+        assertFalse(condition.test(-5));
         for (Integer v : values) {
-            assertTrue(condition.contains(v));
-            assertFalse(condition.contains(v + 1));
+            assertTrue(condition.test(v));
+            assertFalse(condition.test(v + 1));
         }
-        assertFalse(condition.contains(15));
+        assertFalse(condition.test(15));
         // Add the values to the initial set and make sure it is not part of the
         // condition
         values.add(15);
-        assertFalse(condition.contains(15));
+        assertFalse(condition.test(15));
     }
 
     /**
index 1a19a6160d90ec58c09dbddf4dd74614e40c83a7..d6190322b7d76b024200569eaaacc991f2bb5191 100644 (file)
@@ -98,7 +98,7 @@ public class RangeConditionTest {
         assertEquals(min, cnd.min());
         assertEquals(max, cnd.max());
         for (Long i = min; i <= max; i++) {
-            assertTrue(cnd.contains(i));
+            assertTrue(cnd.test(i));
         }
 
         // Test with a step of 0, it should take 1 as a default value
@@ -108,7 +108,7 @@ public class RangeConditionTest {
         assertEquals(min, cnd.min());
         assertEquals(max, cnd.max());
         for (Long i = min; i <= max; i++) {
-            assertTrue(cnd.contains(i));
+            assertTrue(cnd.test(i));
         }
 
         // Test with a step of 2. Make sure that values have the right steps and
@@ -120,12 +120,12 @@ public class RangeConditionTest {
         assertEquals(max, cnd.max());
         for (Long i = min; i < max; i++) {
             if ((i - min) % step == 0) {
-                assertTrue(cnd.contains(i));
+                assertTrue(cnd.test(i));
             } else {
-                assertFalse(cnd.contains(i));
+                assertFalse(cnd.test(i));
             }
         }
-        assertTrue(cnd.contains(max));
+        assertTrue(cnd.test(max));
     }
 
     /**
index 9d915cc3332ad5e13d022b44fbb36c8f60fe93f0..dcdd89e44c6ed20ed73b32fd2f7d7faef4900ba1 100644 (file)
@@ -52,7 +52,7 @@ public class ContinuousRangeCondition<E extends Comparable<E>> implements RangeC
     }
 
     @Override
-    public boolean contains(E element) {
+    public boolean test(E element) {
         return fMin.compareTo(element) <= 0 && element.compareTo(fMax) <= 0;
     }
 
@@ -84,4 +84,5 @@ public class ContinuousRangeCondition<E extends Comparable<E>> implements RangeC
     public String toString() {
         return "Continuous condition: " + fMin.toString() + '-' + fMax.toString(); //$NON-NLS-1$
     }
+
 }
\ No newline at end of file
index 059be78960311576735d57b8682972c6ad7cd1a1..184edfb2d5eb109d28ec9e6631f423bde30ed620 100644 (file)
@@ -56,7 +56,7 @@ public class DiscreteRangeCondition<E extends Comparable<E>> implements RangeCon
     }
 
     @Override
-    public boolean contains(E element) {
+    public boolean test(E element) {
         return fSet.contains(element);
     }
 
index 75860cbac756dd75079fe6684772583eddb2c523..b0ceea30f0e7d4e8233cad86a0d49441888dcbd8 100644 (file)
@@ -13,6 +13,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.Set;
 import java.util.TreeSet;
+import java.util.function.Predicate;
 
 import org.eclipse.jdt.annotation.NonNull;
 import org.eclipse.jdt.annotation.Nullable;
@@ -33,7 +34,7 @@ import org.eclipse.tracecompass.internal.datastore.core.condition.DiscreteRangeC
  *            Long
  * @noimplement Accessor interface
  */
-public interface RangeCondition<@NonNull E extends Comparable<E>> {
+public interface RangeCondition<@NonNull E extends Comparable<E>> extends Predicate<E> {
 
     /**
      * Get the lower bound of this range
@@ -50,7 +51,7 @@ public interface RangeCondition<@NonNull E extends Comparable<E>> {
     @NonNull E max();
 
     /**
-     * Verify whether a value is within this specific range boundaries. If the
+     * Test whether a value is within this specific range boundaries. If the
      * range is continuous, it will return <code>true</code> if the value is
      * between the lower and upper bounds. If the range is discrete, it will
      * return <code>true</code> if the requested element is one of the elements
@@ -60,7 +61,8 @@ public interface RangeCondition<@NonNull E extends Comparable<E>> {
      *            value that we want to test
      * @return true if element is contained in this condition's set or range
      */
-    boolean contains(@NonNull E element);
+    @Override
+    boolean test(@NonNull E element);
 
     /**
      * Determine if the current range intersects a ranged bounded by the values
This page took 0.028973 seconds and 5 git commands to generate.