requirements: Implement all level for event names and fields
[deliverable/tracecompass.git] / tmf / org.eclipse.tracecompass.tmf.core.tests / src / org / eclipse / tracecompass / tmf / core / tests / analysis / requirements / AnalysisEventRequirementTest.java
index 2808a7e9dfbb795c49ffefd745a53592be92f059..8c6e68bf4fa2b43db87f6872c5994027a6909cb9 100644 (file)
@@ -122,6 +122,46 @@ public class AnalysisEventRequirementTest {
         assertFalse(req.test(fTrace));
     }
 
+    /**
+     * Test with {@link PriorityLevel#AT_LEAST_ONE} requirements
+     */
+    @Test
+    public void testAtLeastOneRequirements() {
+        /* Test mandatory requirement */
+        TmfAbstractAnalysisRequirement req = new TmfAnalysisEventRequirement(ImmutableSet.of(EVENT1), PriorityLevel.AT_LEAST_ONE);
+        assertTrue(req.test(fTrace));
+
+        req = new TmfAnalysisEventRequirement(ImmutableSet.of(EVENT1, EVENT2), PriorityLevel.AT_LEAST_ONE);
+        assertTrue(req.test(fTrace));
+
+        /* Event 3 is not an event of the trace */
+        req = new TmfAnalysisEventRequirement(ImmutableSet.of(EVENT1, EVENT2, EVENT3), PriorityLevel.AT_LEAST_ONE);
+        assertTrue(req.test(fTrace));
+
+        req = new TmfAnalysisEventRequirement(ImmutableSet.of(EVENT3), PriorityLevel.AT_LEAST_ONE);
+        assertFalse(req.test(fTrace));
+    }
+
+    /**
+     * Test with {@link PriorityLevel#ALL_OR_NOTHING} requirements
+     */
+    @Test
+    public void testAllOrNothingRequirements() {
+        /* Test mandatory requirement */
+        TmfAbstractAnalysisRequirement req = new TmfAnalysisEventRequirement(ImmutableSet.of(EVENT1), PriorityLevel.ALL_OR_NOTHING);
+        assertTrue(req.test(fTrace));
+
+        req = new TmfAnalysisEventRequirement(ImmutableSet.of(EVENT1, EVENT2), PriorityLevel.ALL_OR_NOTHING);
+        assertTrue(req.test(fTrace));
+
+        /* Event 3 is not an event of the trace */
+        req = new TmfAnalysisEventRequirement(ImmutableSet.of(EVENT1, EVENT2, EVENT3), PriorityLevel.ALL_OR_NOTHING);
+        assertFalse(req.test(fTrace));
+
+        req = new TmfAnalysisEventRequirement(ImmutableSet.of(EVENT3), PriorityLevel.ALL_OR_NOTHING);
+        assertTrue(req.test(fTrace));
+    }
+
     /**
      * Test event requirements on a trace with no pre-defined events. They
      * should all pass
This page took 0.02518 seconds and 5 git commands to generate.