"</process>");
builder.addRuleFlow(source);
Package pkg = builder.getPackage();
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( pkg );
WorkingMemory workingMemory = ruleBase.newStatefulSession();
List<Long> list = new ArrayList<Long>();
workingMemory.setGlobal("list", list);
Person john = new Person("John Doe", 20);
Person jane = new Person("Jane Doe", 20);
Person julie = new Person("Julie Doe", 20);
workingMemory.insert(john);
workingMemory.insert(jane);
Map<String, Object> params = new HashMap<String, Object>();
params.put("name", john.getName());
ProcessInstance processInstance1 = ( ProcessInstance )
workingMemory.startProcess("org.jbpm.process-split", params);
params = new HashMap<String, Object>();
params.put("name", jane.getName());
ProcessInstance processInstance2 = ( ProcessInstance )
workingMemory.startProcess("org.jbpm.process-split", params);
params = new HashMap<String, Object>();
params.put("name", julie.getName());
ProcessInstance processInstance3 = ( ProcessInstance )
workingMemory.startProcess("org.jbpm.process-split", params);
assertEquals(ProcessInstance.STATE_COMPLETED, processInstance1.getState());
assertEquals(ProcessInstance.STATE_COMPLETED, processInstance2.getState());
assertEquals(ProcessInstance.STATE_COMPLETED, processInstance3.getState());
assertEquals(2, list.size());