@Test
void setContext()
{

    Execution execution = new DefaultExecution();
    assertNull(execution.getContext());
    ExecutionContext context1 = new ExecutionContext();
    execution.setContext(context1);
    assertSame(context1, execution.getContext());
    ExecutionContext context2 = new ExecutionContext();
    // Add new level 1
    execution.pushContext(context2);
    assertSame(context2, execution.getContext());
    // Change level 1
    ExecutionContext context3 = new ExecutionContext();
    execution.setContext(context3);
    assertSame(context3, execution.getContext());
    // Go back to level 0
    execution.popContext();
    assertSame(context1, execution.getContext());
    // Go back to no context
    execution.popContext();
    assertNull(execution.getContext());
}