private void verifyFiredZeroTimes(VerifyRuleFired verifyRuleFired) { if ( verifyRuleFired.getActualResult() == 0 ) { verifyRuleFired.setSuccessResult( true ); verifyRuleFired.setExplanation( "Rule [" + verifyRuleFired.getRuleName() + "] was not activated." ); } else { verifyRuleFired.setSuccessResult( false ); verifyRuleFired.setExplanation( "Rule [" + verifyRuleFired.getRuleName() + "] was activated " + verifyRuleFired.getActualResult() + " times, but expected none." ); } }
protected boolean ruleFailedToFire(VerifyRuleFired verifyRuleFired) { return verifyRuleFired.getSuccessResult() != null && !verifyRuleFired.getSuccessResult(); }
private void setActualResult(VerifyRuleFired verifyRuleFired) { if ( firingCounts.containsKey( verifyRuleFired.getRuleName() ) ) { verifyRuleFired.setActualResult( firingCounts.get( verifyRuleFired.getRuleName() ) ); } else { verifyRuleFired.setActualResult( 0 ); } } }
public VerifyRuleFired(String ruleName, Integer expectedCount, Boolean expectedFire) { this.setRuleName( ruleName ); this.setExpectedCount( expectedCount ); this.setExpectedFire( expectedFire ); }
ruleFiredVerifier.setFireCounter(firingCounts); VerifyRuleFired v = new VerifyRuleFired(); v.setRuleName("foo"); v.setExpectedFire(true); assertTrue(v.getSuccessResult()); assertEquals(2, v.getActualResult().intValue()); v = new VerifyRuleFired(); v.setRuleName("foo"); v.setExpectedFire(false); ruleFiredVerifier.verifyFiringCounts(v); assertFalse(v.getSuccessResult()); assertEquals(2, v.getActualResult().intValue()); assertNotNull(v.getExplanation()); v = new VerifyRuleFired(); v.setRuleName("foo"); v.setExpectedCount(2); assertTrue(v.getSuccessResult()); assertEquals(2, v.getActualResult().intValue());
@Test public void testRuleFiredWithEnum() throws Exception { Map<String, Integer> firingCounts = new HashMap<String, Integer>(); firingCounts.put("foo", 2); firingCounts.put("bar", 1); // and baz, we leave out RuleFiredVerifier ruleFiredVerifier = new RuleFiredVerifier(); ruleFiredVerifier.setFireCounter(firingCounts); VerifyRuleFired v = new VerifyRuleFired(); v.setRuleName("foo"); v.setExpectedFire(true); ruleFiredVerifier.verifyFiringCounts(v); assertTrue(v.getSuccessResult()); assertEquals(2, v.getActualResult().intValue()); }
VerifyRuleFired vf1 = new VerifyRuleFired("Life unverse and everything", new Integer(42), null); vf1.setActualResult(new Integer(42)); vf1.setSuccessResult(new Boolean(true)); vf1.setExplanation("All good here."); VerifyRuleFired vf2 = new VerifyRuleFired("Everything else", null, new Boolean(true)); vf2.setActualResult(new Integer(0)); vf2.setSuccessResult(new Boolean(false)); vf2.setExplanation("Not so good here."); sc.getFixtures().add(vf1); sc.getFixtures().add(vf2);
@Test public void testIntegrationWithFailure() throws Exception { Scenario sc = new Scenario(); Expectation[] assertions = populateScenarioForFailure(sc); TypeResolver resolver = new ClassTypeResolver(new HashSet<String>(), Thread.currentThread().getContextClassLoader()); resolver.addImport("org.drools.Cheese"); resolver.addImport("org.drools.Person"); WorkingMemory wm = getWorkingMemory("test_rules2.drl"); ScenarioRunner run = new ScenarioRunner( resolver, getClassLoader(), (InternalWorkingMemory) wm); run.run(sc); assertFalse(sc.wasSuccessful()); VerifyFact vf = (VerifyFact) assertions[1]; assertFalse((vf.getFieldValues().get(0)).getSuccessResult()); assertEquals("XXX", vf.getFieldValues().get(0).getExpected()); assertEquals("rule1", vf.getFieldValues().get(0).getActualResult()); assertNotNull(vf.getFieldValues().get(0).getExplanation()); VerifyRuleFired vr = (VerifyRuleFired) assertions[4]; assertFalse(vr.getSuccessResult()); assertEquals(2, vr.getExpectedCount().intValue()); assertEquals(0, vr.getActualResult().intValue()); }
public void verifyFiringCounts(VerifyRuleFired verifyRuleFired) { setActualResult( verifyRuleFired ); if ( verifyRuleFired.getExpectedFire() != null ) { if ( verifyRuleFired.getExpectedFire() ) { verifyFiredAtLeastOnce( verifyRuleFired ); } else { verifyFiredZeroTimes( verifyRuleFired ); } } if ( verifyRuleFired.getExpectedCount() != null ) { verifyFiredXTimes( verifyRuleFired ); } }
VerifyRuleFired vr = new VerifyRuleFired("qqq", 42, null); assertTrue(vr.wasSuccessful()); assertEquals(42, vr.getActualResult().intValue()); vr = new VerifyRuleFired("qqq", 41, null); assertFalse(vr.wasSuccessful()); assertEquals(42, vr.getActualResult().intValue()); vr = new VerifyRuleFired("qaz", 1, null); assertTrue(vr.wasSuccessful()); assertEquals(1, vr.getActualResult().intValue()); vr = new VerifyRuleFired("XXX", null, false); assertTrue(vr.wasSuccessful());
@Test public void testCountSuccessFailures() { Scenario sc = new Scenario(); sc.getFixtures().add( new FactData() ); sc.getFixtures().add( new ExecutionTrace() ); VerifyRuleFired vr = new VerifyRuleFired(); vr.setSuccessResult( false ); sc.getFixtures().add( vr ); VerifyField vf = new VerifyField(); vf.setSuccessResult( true ); VerifyField vf2 = new VerifyField(); vf2.setSuccessResult( false ); VerifyFact vfact = new VerifyFact(); vfact.getFieldValues().add( vf ); vfact.getFieldValues().add( vf2 ); sc.getFixtures().add( vfact ); int[] totals = sc.countFailuresTotal(); assertEquals( 2, totals[0] ); assertEquals( 3, totals[1] ); }
public VerifyRuleFired(String ruleName, Integer expectedCount, Boolean expectedFire) { this.setRuleName( ruleName ); this.setExpectedCount( expectedCount ); this.setExpectedFire( expectedFire ); }
public void verifyFiringCounts(VerifyRuleFired verifyRuleFired) { setActualResult( verifyRuleFired ); if ( verifyRuleFired.getExpectedFire() != null ) { if ( verifyRuleFired.getExpectedFire() ) { verifyFiredAtLeastOnce( verifyRuleFired ); } else { verifyFiredZeroTimes( verifyRuleFired ); } } if ( verifyRuleFired.getExpectedCount() != null ) { verifyFiredXTimes( verifyRuleFired ); } }
private void verifyFiredAtLeastOnce(VerifyRuleFired verifyRuleFired) { if ( verifyRuleFired.getActualResult() > 0 ) { verifyRuleFired.setSuccessResult( true ); verifyRuleFired.setExplanation( "Rule [" + verifyRuleFired.getRuleName() + "] was actived " + verifyRuleFired.getActualResult() + " times." ); } else { verifyRuleFired.setSuccessResult( false ); verifyRuleFired.setExplanation( "Rule [" + verifyRuleFired.getRuleName() + "] was not activated. Expected it to be activated." ); } }
private void setActualResult(VerifyRuleFired verifyRuleFired) { if ( firingCounts.containsKey( verifyRuleFired.getRuleName() ) ) { verifyRuleFired.setActualResult( firingCounts.get( verifyRuleFired.getRuleName() ) ); } else { verifyRuleFired.setActualResult( 0 ); } } }
protected boolean ruleFailedToFire(VerifyRuleFired verifyRuleFired) { return verifyRuleFired.getSuccessResult() != null && !verifyRuleFired.getSuccessResult(); }
private void verifyFiredZeroTimes(VerifyRuleFired verifyRuleFired) { if ( verifyRuleFired.getActualResult() == 0 ) { verifyRuleFired.setSuccessResult( true ); verifyRuleFired.setExplanation( "Rule [" + verifyRuleFired.getRuleName() + "] was not activated." ); } else { verifyRuleFired.setSuccessResult( false ); verifyRuleFired.setExplanation( "Rule [" + verifyRuleFired.getRuleName() + "] was activated " + verifyRuleFired.getActualResult() + " times, but expected none." ); } }
public boolean wasSuccessful() { return getSuccessResult().booleanValue(); }
private void verifyFiredAtLeastOnce(VerifyRuleFired verifyRuleFired) { if ( verifyRuleFired.getActualResult() > 0 ) { verifyRuleFired.setSuccessResult( true ); verifyRuleFired.setExplanation( "Rule [" + verifyRuleFired.getRuleName() + "] was actived " + verifyRuleFired.getActualResult() + " times." ); } else { verifyRuleFired.setSuccessResult( false ); verifyRuleFired.setExplanation( "Rule [" + verifyRuleFired.getRuleName() + "] was not activated. Expected it to be activated." ); } }
public boolean wasSuccessful() { return getSuccessResult().booleanValue(); }