public void testAddFromRuleSet() throws IntegrationException,
SAXException,
IOException,
FactException
{
WorkingMemory workingMemory;
List list;
RuleBase ruleBase;
RuleBaseLoader ruleBaseLoader;
RuleSetLoader ruleSetLoader = new RuleSetLoader( );
// single URL parameter
ruleSetLoader.addFromUrl( RuleBaseLoaderTest.class.getResource( "simple.java.drl" ) );
// Get tehe ruleSet to test with
RuleSetCompiler[] compilers = (RuleSetCompiler[]) ruleSetLoader.getRuleSets( ).values( ).toArray( new RuleSetCompiler[]{} );
RuleSet ruleSet = compilers[0].getRuleSet( );
// Try with addFromRuleSet
ruleBaseLoader = new RuleBaseLoader( );
ruleBaseLoader.addFromRuleSet( ruleSet );
ruleBase = ruleBaseLoader.buildRuleBase( );
workingMemory = ruleBase.newWorkingMemory( );
list = new ArrayList( );
workingMemory.setApplicationData( "list",
list );
workingMemory.assertObject( "help" );
workingMemory.fireAllRules( );
assertEquals( "help",
list.get( 0 ) );
// Try with addFromRuleSet
ruleBaseLoader = new RuleBaseLoader( );
ruleBaseLoader.addFromRuleSet( new RuleSet[]{ruleSet} );
ruleBase = ruleBaseLoader.buildRuleBase( );
workingMemory = ruleBase.newWorkingMemory( );
list = new ArrayList( );
workingMemory.setApplicationData( "list",
list );
workingMemory.assertObject( "help" );
workingMemory.fireAllRules( );
assertEquals( "help",
list.get( 0 ) );
}