builder.addRuleFlow(source);
Package pkg = builder.getPackage();
RuleBase ruleBase = RuleBaseFactory.newRuleBase();
ruleBase.addPackage( pkg );
StatefulSession session = ruleBase.newStatefulSession();
ProcessInstance processInstance = session.startProcess("org.drools.event");
assertEquals(ProcessInstance.STATE_ACTIVE, processInstance.getState());
assertEquals("SomeText", ((VariableScopeInstance)
((ProcessInstance) processInstance).getContextInstance(
VariableScope.VARIABLE_SCOPE)).getVariable("MyVar"));
session = SerializationHelper.getSerialisedStatefulSession(session);
processInstance = session.getProcessInstance(processInstance.getId());
session.getSignalManager().signalEvent("MyEvent", "MyValue");
assertEquals(ProcessInstance.STATE_COMPLETED, processInstance.getState());
assertEquals("MyValue", ((VariableScopeInstance)
((ProcessInstance) processInstance).getContextInstance(
VariableScope.VARIABLE_SCOPE)).getVariable("MyVar"));
}