/** * This will return a list of fact names that are in scope (including * globals). * * @return List<String> */ public List<String> getFactNamesInScope(ExecutionTrace executionTrace, boolean includeGlobals) { if ( executionTrace == null ) { return Collections.emptyList(); } List<String> factDataNames = new ArrayList<String>(); int p = this.getFixtures().indexOf( executionTrace ); for ( int i = 0; i < p; i++ ) { Fixture fixture = (Fixture) getFixtures().get( i ); if ( fixture instanceof FactData ) { FactData factData = (FactData) fixture; factDataNames.add( factData.getName() ); } else if ( fixture instanceof RetractFact) { RetractFact retractFact = (RetractFact) fixture; factDataNames.remove( retractFact.getName() ); } } if ( includeGlobals ) { for ( FactData factData : getGlobals() ) { factDataNames.add( factData.getName() ); } } return factDataNames; }
/** * This will return a list of fact names that are in scope (including * globals). * * @return List<String> */ public List<String> getFactNamesInScope(ExecutionTrace executionTrace, boolean includeGlobals) { if ( executionTrace == null ) { return Collections.emptyList(); } List<String> factDataNames = new ArrayList<String>(); int p = this.getFixtures().indexOf( executionTrace ); for ( int i = 0; i < p; i++ ) { Fixture fixture = (Fixture) getFixtures().get( i ); if ( fixture instanceof FactData ) { FactData factData = (FactData) fixture; factDataNames.add( factData.getName() ); } else if ( fixture instanceof RetractFact) { RetractFact retractFact = (RetractFact) fixture; factDataNames.remove( retractFact.getName() ); } } if ( includeGlobals ) { for ( FactData factData : getGlobals() ) { factDataNames.add( factData.getName() ); } } return factDataNames; }
public void run(Scenario scenario) throws ClassNotFoundException, IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException { MVEL.COMPILER_OPT_ALLOW_NAKED_METH_CALL = true; scenario.setLastRunResult(new Date()); populateGlobals(scenario.getGlobals()); applyFixtures(scenario.getFixtures(), createScenarioSettings(scenario)); }
public void run(Scenario scenario) throws ClassNotFoundException, IllegalAccessException, InstantiationException, InvocationTargetException, NoSuchMethodException { MVEL.COMPILER_OPT_ALLOW_NAKED_METH_CALL = true; scenario.setLastRunResult(new Date()); populateGlobals(scenario.getGlobals()); applyFixtures(scenario.getFixtures(), createScenarioSettings(scenario)); }
@Test public void testToXML() { ScenarioXMLPersistence p = ScenarioXMLPersistence.getInstance(); Scenario sc = new Scenario(); String s = p.marshal(sc); assertNotNull(s); sc = getDemo(); s = p.marshal(sc); assertTrue(s.indexOf("<ruleName>Life unverse and everything</ruleName>") > 0); Scenario sc_ = p.unmarshal(s); assertEquals(sc.getGlobals().size(), sc_.getGlobals().size()); assertEquals(sc.getFixtures().size(), sc_.getFixtures().size()); assertTrue(s.indexOf("org.drools") == -1); //check we have aliased all }
@Test public void testMapFactTypes() { Scenario sc = new Scenario(); sc.getFixtures().add( new FactData( "X", "q", null, false ) ); sc.getGlobals().add( new FactData( "Q", "x", null, false ) ); Map r = sc.getVariableTypes(); assertEquals( 2, r.size() ); assertEquals( "X", r.get( "q" ) ); assertEquals( "Q", r.get( "x" ) ); }
@Test public void testRemoveFixture() { Scenario sc = new Scenario(); VerifyRuleFired vf1 = new VerifyRuleFired(); VerifyRuleFired vf2 = new VerifyRuleFired(); VerifyRuleFired vf3 = new VerifyRuleFired(); FactData fd = new FactData(); sc.getFixtures().add( vf1 ); sc.getFixtures().add( vf2 ); sc.getFixtures().add( vf3 ); sc.getGlobals().add( fd ); sc.removeFixture( vf2 ); assertEquals( 2, sc.getFixtures().size() ); assertEquals( vf1, sc.getFixtures().get( 0 ) ); assertEquals( vf3, sc.getFixtures().get( 1 ) ); assertEquals( 1, sc.getGlobals().size() ); sc.removeFixture( fd ); assertEquals( 0, sc.getGlobals().size() ); assertEquals( 2, sc.getFixtures().size() ); }
@Test public void testPopulateFactsWithInterfaces() throws Exception { Scenario sc = new Scenario(); List facts = ls(new FactData("List", "ls", new ArrayList(), false)); List globals = ls(new FactData("List", "ls", new ArrayList(), false)); sc.getFixtures().addAll(facts); sc.getGlobals().addAll(globals); TypeResolver resolver = new ClassTypeResolver(new HashSet<String>(), getClassLoader()); resolver.addImport("java.util.List"); ScenarioRunner runner = new ScenarioRunner( resolver, getClassLoader(), new MockWorkingMemory()); runner.run(sc); }
new ArrayList(), false ); sc.getGlobals().add( fd4 );
@Test public void testVariablesInScope() { Scenario sc = new Scenario(); sc.getGlobals().add( new FactData( "X", "x", new ArrayList(), assertEquals( 2, l.size() ); assertFalse( l.contains( sc.getGlobals().get( 0 ) ) );
public void testWithGlobalList() throws Exception { Scenario sc = new Scenario(); sc.getGlobals().add(new FactData("List", "testList", new ArrayList(),
sc.getFixtures().add(d1); sc.getFixtures().add(d2); sc.getGlobals().add(d3); sc.getGlobals().add(d4); sc.getRules().add("rule1"); sc.getRules().add("rule2");
Scenario sc = new Scenario(); sc.getGlobals().add( new FactData( "A", "A", new ArrayList(),
sc.getGlobals().add(new FactData("Person", "p", new ArrayList(),
@Test public void testIsFactNameUsed() { Scenario sc = new Scenario(); sc.getGlobals().add( new FactData( "X", "x", null, false ) ); sc.getFixtures().add( new FactData( "Q", "q", null, false ) ); sc.getFixtures().add( new ExecutionTrace() ); assertTrue( sc.isFactNameReserved( "x" ) ); assertTrue( sc.isFactNameReserved( "q" ) ); assertFalse( sc.isFactNameReserved( "w" ) ); sc = new Scenario(); assertFalse( sc.isFactNameReserved( "w" ) ); }
sc.getGlobals().add(new FactData("Person", "p", new ArrayList(),
sc.getGlobals().add(new FactData("Person", "p", new ArrayList(),