Assert.assertTrue(implementation instanceof BPMComponentImplementationModel);
BPMComponentImplementationModel bpm = (BPMComponentImplementationModel)implementation;
Assert.assertEquals("bpm", bpm.getType());
Assert.assertTrue(bpm.isPersistent());
Assert.assertEquals("theProcessId", bpm.getProcessId());
OperationModel operation = bpm.getOperations().getOperations().get(0);
Assert.assertEquals("theEventId", operation.getEventId());
Assert.assertEquals("process", operation.getName());
Assert.assertEquals(BPMOperationType.SIGNAL_EVENT, operation.getType());
GlobalModel globalModel = operation.getGlobals().getGlobals().get(0);
Assert.assertEquals("context['foobar']", globalModel.getFrom());
Assert.assertEquals("globalVar", globalModel.getTo());
InputModel inputModel = operation.getInputs().getInputs().get(0);
Assert.assertEquals("message.content.nested", inputModel.getFrom());
Assert.assertEquals("inputVar", inputModel.getTo());
OutputModel outputModel = operation.getOutputs().getOutputs().get(0);
Assert.assertEquals("outputVar", outputModel.getFrom());
Assert.assertEquals("message.content", outputModel.getTo());
FaultModel faultModel = operation.getFaults().getFaults().get(0);
Assert.assertEquals("faultVar", faultModel.getFrom());
Assert.assertEquals("message.content", faultModel.getTo());
ChannelModel channel = bpm.getChannels().getChannels().get(0);
Assert.assertEquals(TestChannel.class, channel.getClazz(loader));
Assert.assertEquals("theName", channel.getName());