### Question:
RunningStatusController extends
        AbstractProcessorDecorator<TDef> { @Override public Variable run(final DynamicScopeContext context) throws InterruptedException { try { monitor.enterWhen(runningGuard); } finally { monitor.leave(); } return this.decoratedProcessor.run(context); } RunningStatusController(final Processor<TDef> decoratedProcessor); @Override Variable run(final DynamicScopeContext context);  }### Answer:
@Test public void runIfUnlockMonitor() throws Exception { final Variable var = EmptyVariable.INSTANCE; guard.setSatisfied(true); expect(mockProcessor.run(eq(mockContext))) .andReturn(var); EasyMockUnitils.replay(); final Variable result = controller.run(mockContext); assertNotNull("Result variable is null.", result); assertSame("Unexpected variable.", result, var); }