Fix DOMQueryPredicate comparable matches
[mdsal.git] / binding / mdsal-binding-dom-adapter / src / test / java / org / opendaylight / mdsal / binding / dom / adapter / query / QueryBuilderTest.java
index d0a58eda8b6d9498ad7a600795027ebe13697c05..272c8f4afc517de7105bf084f60d56f908e72c98 100644 (file)
@@ -169,6 +169,66 @@ public class QueryBuilderTest {
         assertEquals(1, items.size());
     }
 
+    @Test
+    public void testFindGreaterThanAlarms() {
+        final Stopwatch sw = Stopwatch.createStarted();
+        final QueryExpression<Alarms> query = factory.querySubtree(InstanceIdentifier.create(Foo.class))
+            .extractChild(System.class)
+            .extractChild(Alarms.class)
+            .matching()
+            .leaf(Alarms::getId).greaterThan(Uint64.ONE)
+            .build();
+        LOG.info("Query built in {}", sw);
+
+        final List<? extends Item<@NonNull Alarms>> items = execute(query).getItems();
+        assertEquals(1, items.size());
+    }
+
+    @Test
+    public void testFindGreaterThanOrEqualsAlarms() {
+        final Stopwatch sw = Stopwatch.createStarted();
+        final QueryExpression<Alarms> query = factory.querySubtree(InstanceIdentifier.create(Foo.class))
+            .extractChild(System.class)
+            .extractChild(Alarms.class)
+            .matching()
+            .leaf(Alarms::getId).greaterThanOrEqual(Uint64.ONE)
+            .build();
+        LOG.info("Query built in {}", sw);
+
+        final List<? extends Item<@NonNull Alarms>> items = execute(query).getItems();
+        assertEquals(2, items.size());
+    }
+
+    @Test
+    public void testFindLessThanAlarms() {
+        final Stopwatch sw = Stopwatch.createStarted();
+        final QueryExpression<Alarms> query = factory.querySubtree(InstanceIdentifier.create(Foo.class))
+            .extractChild(System.class)
+            .extractChild(Alarms.class)
+            .matching()
+            .leaf(Alarms::getId).lessThan(Uint64.ONE)
+            .build();
+        LOG.info("Query built in {}", sw);
+
+        final List<? extends Item<@NonNull Alarms>> items = execute(query).getItems();
+        assertEquals(2, items.size());
+    }
+
+    @Test
+    public void testFindLessThanOrEqualsAlarms() {
+        final Stopwatch sw = Stopwatch.createStarted();
+        final QueryExpression<Alarms> query = factory.querySubtree(InstanceIdentifier.create(Foo.class))
+            .extractChild(System.class)
+            .extractChild(Alarms.class)
+            .matching()
+            .leaf(Alarms::getId).lessThanOrEqual(Uint64.ONE)
+            .build();
+        LOG.info("Query built in {}", sw);
+
+        final List<? extends Item<@NonNull Alarms>> items = execute(query).getItems();
+        assertEquals(3, items.size());
+    }
+
     @Test
     public void testFindSystemFirstWithAlarmOne() {
         final Stopwatch sw = Stopwatch.createStarted();