final FailingJobInvoker failingInvoker = new FailingJobInvoker();
final TestJobInvoker workingInvoker = new TestJobInvoker("Test");
jobDispatcher.registerJobInvoker(failingInvoker);
jobDispatcher.registerJobInvoker(workingInvoker);
final CalculationJob job = createTestJob();
jobDispatcher.dispatchJob(job, result);
CalculationJobResult jobResult = result.waitForResult(TIMEOUT);
assertNotNull(jobResult);
assertEquals(1, failingInvoker._failureCount); // fail once at this node, then retried on another
assertEquals("Test", jobResult.getComputeNodeId());
assertEquals(job.getSpecification(), jobResult.getSpecification());