@Test public void testEvaluateInMaxOneFailed() { when(context.getCandidateCount()).thenReturn(1); when(context.getDirection()).thenReturn(EdgeCardinalityContext.Direction.INCOMING); when(context.getOperation()).thenReturn(Optional.of(CardinalityContext.Operation.ADD)); RuleViolations violations = tested.evaluate(RULE_IN_MAX_1, context); assertNotNull(violations); assertTrue(violations.violations(RuleViolation.Type.ERROR).iterator().hasNext()); }
@Test public void testEvaluateInMinOneFailed() { when(context.getCandidateCount()).thenReturn(1); when(context.getDirection()).thenReturn(EdgeCardinalityContext.Direction.INCOMING); when(context.getOperation()).thenReturn(Optional.of(CardinalityContext.Operation.DELETE)); RuleViolations violations = tested.evaluate(RULE_IN_MIN_1, context); assertNotNull(violations); assertTrue(violations.violations(RuleViolation.Type.WARNING).iterator().hasNext()); } }
@Test public void testEvaluateInMaxOneSucess() { when(context.getCandidateCount()).thenReturn(0); when(context.getDirection()).thenReturn(EdgeCardinalityContext.Direction.INCOMING); when(context.getOperation()).thenReturn(Optional.of(CardinalityContext.Operation.ADD)); RuleViolations violations = tested.evaluate(RULE_IN_MAX_1, context); assertNotNull(violations); assertFalse(violations.violations(RuleViolation.Type.ERROR).iterator().hasNext()); }
@Test public void testEvaluateInMinOneSucess() { when(context.getCandidateCount()).thenReturn(0); when(context.getDirection()).thenReturn(EdgeCardinalityContext.Direction.INCOMING); when(context.getOperation()).thenReturn(Optional.of(CardinalityContext.Operation.ADD)); RuleViolations violations = tested.evaluate(RULE_IN_MIN_1, context); assertNotNull(violations); assertFalse(violations.violations(RuleViolation.Type.ERROR).iterator().hasNext()); }
@Test public void testEvaluateInNoLimit() { when(context.getCandidateCount()).thenReturn(0); when(context.getDirection()).thenReturn(EdgeCardinalityContext.Direction.INCOMING); when(context.getOperation()).thenReturn(Optional.of(CardinalityContext.Operation.ADD)); RuleViolations violations = tested.evaluate(RULE_IN_NO_LIMIT, context); assertNotNull(violations); assertFalse(violations.violations(RuleViolation.Type.ERROR).iterator().hasNext()); when(context.getCandidateCount()).thenReturn(100); violations = tested.evaluate(RULE_IN_NO_LIMIT, context); assertNotNull(violations); assertFalse(violations.violations(RuleViolation.Type.ERROR).iterator().hasNext()); }
final int maxOccurrences = rule.getMaxOccurrences(); final int candidatesCount = context.getCandidateCount(); final Optional<CardinalityContext.Operation> operation = context.getOperation(); final EdgeCardinalityContext.Direction direction = rule.getDirection(); final Violation.Type type = operation
@Test @SuppressWarnings("unchecked") public void testFilterConnectionTargetDefinitions() { FilterConnectionTargetDefinitions function = new FilterConnectionTargetDefinitions(DEF_ID2, Collections.singleton(DEF_ID1)); Set<String> result = function.execute(context); assertTrue(result.contains(DEF_ID1)); ArgumentCaptor<RuleEvaluationContext> ruleEvaluationContextCaptor = ArgumentCaptor.forClass(RuleEvaluationContext.class); verify(ruleManager, times(1)).evaluate(eq(RULE_SET), ruleEvaluationContextCaptor.capture()); RuleEvaluationContext evaluationContext = ruleEvaluationContextCaptor.getValue(); assertTrue(evaluationContext instanceof EdgeCardinalityContext); EdgeCardinalityContext cardinalityContext = (EdgeCardinalityContext) evaluationContext; assertEquals(DEF_ID2, cardinalityContext.getEdgeRole()); assertEquals(0, cardinalityContext.getCandidateCount()); assertTrue(cardinalityContext.getRoles().contains(ROLE1)); assertEquals(EdgeCardinalityContext.Direction.INCOMING, cardinalityContext.getDirection()); assertEquals(CardinalityContext.Operation.ADD, cardinalityContext.getOperation().get()); } }