/**
* Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.view.worker;
import com.opengamma.engine.view.execution.ViewExecutionOptions;
import com.opengamma.util.function.BiFunction;
/**
* Base class for testing the {@link ParallelRecompilationViewProcessWorker} inner classes.
*/
/* package */abstract class AbstractParallelRecompilationTest {
protected abstract void testImpl(
BiFunction<ParallelRecompilationViewProcessWorker,
ViewExecutionOptions, Void> callback) throws InterruptedException;
public void testParallel() throws InterruptedException {
testImpl(new BiFunction<ParallelRecompilationViewProcessWorker, ViewExecutionOptions, Void>() {
@Override
public Void apply(ParallelRecompilationViewProcessWorker a, ViewExecutionOptions b) {
a.startParallel(b);
return null;
}
});
}
public void testImmediate() throws InterruptedException {
testImpl(new BiFunction<ParallelRecompilationViewProcessWorker, ViewExecutionOptions, Void>() {
@Override
public Void apply(ParallelRecompilationViewProcessWorker a, ViewExecutionOptions b) {
a.startImmediate(b);
return null;
}
});
}
public void testDeferred() throws InterruptedException {
testImpl(new BiFunction<ParallelRecompilationViewProcessWorker, ViewExecutionOptions, Void>() {
@Override
public Void apply(ParallelRecompilationViewProcessWorker a, ViewExecutionOptions b) {
a.startDeferred(b);
return null;
}
});
}
}