Package org.jmock.lib.concurrent
Class DeterministicExecutor
- java.lang.Object
-
- org.jmock.lib.concurrent.DeterministicExecutor
-
- All Implemented Interfaces:
Executor
public class DeterministicExecutor extends Object implements Executor
AnExecutor
that executes commands on the thread that callsrunPendingCommands
orrunUntilIdle
. This is useful when using Mock Objects to test code that spawns background tasks.- Author:
- nat
-
-
Constructor Summary
Constructors Constructor Description DeterministicExecutor()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
execute(Runnable command)
boolean
isIdle()
Returns whether this executor is idle -- has no pending background tasks waiting to be run.void
runPendingCommands()
Runs all commands that are currently pending.void
runUntilIdle()
Runs executed commands until there are no commands pending execution, but does not tick time forward.
-
-
-
Method Detail
-
isIdle
public boolean isIdle()
Returns whether this executor is idle -- has no pending background tasks waiting to be run.- Returns:
- true if there are no background tasks to be run, false otherwise.
- See Also:
runPendingCommands()
,runUntilIdle()
-
runPendingCommands
public void runPendingCommands()
Runs all commands that are currently pending. If those commands also schedule commands for execution, the scheduled commands will not be executed until the next call torunPendingCommands()
orrunUntilIdle()
.
-
runUntilIdle
public void runUntilIdle()
Runs executed commands until there are no commands pending execution, but does not tick time forward.
-
-