anchor.diff:  
   Flowable supports both JUnit versions 3 and 4 styles of unit testing. In the JUnit 3 style, the +org.flowable.engine.test.FlowableTestCase+ must be extended. This will make the ProcessEngine and the services available through protected member fields. In the +setup()+ of the test,  the processEngine will be initialized by default with the +flowable.cfg.xml+ resource on the classpath.  To specify a different configuration file, override the _getConfigurationResource()_ method. Process engines are cached statically over multiple unit tests when the configuration resource is the same.
   
  -By extending +FlowableTestCase+, you can annotate test methods with +org.flowable.engine.test.Deployment+. Before the test is run, a resource file of the form +testClassName.testMethod.bpmn20.xml+ in the same package as the test class, will be deployed. At the end of the test, the deployment will be deleted, including all related process instances, tasks, etc. The +Deployment+ annotation also supports setting the resource location explicitly. See the class itself for more information.
  +By extending +FlowableTestCase+, you can annotate test methods with +org.flowable.engine.test.Deployment+. Before the test is run, a resource file of the form +testClassName.testMethod.bpmn20.xml+ in the same package as the test class, will be deployed. At the end of the test, the deployment will be deleted, including all related process instances, tasks, and so on. The +Deployment+ annotation also supports setting the resource location explicitly. See the class itself for more information.
   
   Taking all that in account, a JUnit 3 style test looks as follows.
   
  
positive.code: ${myBean.doSomething(myVar, execution)}
  ----
  
  Note that these expressions support resolving primitives (incl. comparing them), beans, lists, arrays and maps.
  
  On top of all process variables, there are a few default objects available to be used in expressions:
  
  * ++execution++: The +DelegateExecution+ that holds additional information about the ongoing execution.
  * ++task++: The +DelegateTask+ that holds additional information about the current Task. *Note: Only works in expressions evaluated from task listeners.*
  * ++authenticatedUserId++: The id of the user that is currently authenticated. If no user is authenticated, the variable is not available.
  
  For more concrete usage and examples, check out <<springExpressions,Expressions in Spring>>, <<bpmnJavaServiceTaskXML,Java Service tasks>>, <<executionListeners,Execution Listeners>>,  <<taskListeners,Task Listeners>> or <<conditionalSequenceFlowXml,Conditional sequence flows>>.
  
negative.code: 
  === Debugging unit tests
  
  When using the in-memory H2 database for unit tests, the following instructions allow you to easily inspect the data in the Flowable database during a debugging session. The screenshots here are taken in Eclipse, but the mechanism should be similar for other IDEs.
  
  Suppose we have put a _breakpoint_ somewhere in our unit test (in Eclipse this is done by double-clicking in the left border next to the code):
  
  image::images/api.test.debug.breakpoint.png[align="center"]
  
  