Unit flag flag Case Case Case
Unary strict rollback Unit empty Unit succeeds Unit fails
Loop - - NOT POSSIBLE testLoopUnitNoLoopSucceeds, testLoopUnitMultipleLoopsSucceeds NOT POSSIBLE
Iterated true true NOT POSSIBLE NOT NECESSARY testStrictIteratedUnitWithRollbackFails
Iterated true false NOT POSSIBLE testStrictIteratedUnitSucceeds testStrictIteratedUnitWithoutRollbackFails
Iterated false true NOT POSSIBLE testNonstrictIteratedUnitSucceeds testNonstrictIteratedUnitFails
Iterated false NOT POSSIBLE NOT NECESSARY NOT NECESSARY






Conditional - - testConditionalUnitWithoutElseIfFalseSucceeds testConditionalUnitElseSucceeds, testConditionalUnitThenSucceeds testConditionalUnitElseFails, testConditionalUnitThenFails
Multi strict rollback Unit empty Unit succeeds Unit fails
Sequential true true testEmptyStrictSequentialUnit testStrictSequentialUnitSucceeds testStrictSequentialUnitWithRollbackFails
Sequential true false NOT NECESSARY NOT NECESSARY testStrictSequentialUnitWithoutRollbackFails
Sequential false true testEmptyNonstrictSequentialUnit testNonstrictSequentialUnitSucceeds testNonstrictSequentialUnitFails
Sequential false false NOT NECESSARY NOT NECESSARY NOT NECESSARY
Priority - - testEmptyPriorityUnit testPriorityUnitFirstSucceeds, testPriorityUnitMiddleSucceeds, testPriorityUnitLastSucceeds testPriorityUnitAllfail
Independent - - testEmptyIndependentUnit TestIndependentUnitOneCanSucceed, testIndependentUnitTwoCanSucceed testIndependentUnitAllfail

Abbreviations