/**
* Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.engine.function.blacklist;
import java.util.Arrays;
import java.util.Collections;
import org.mockito.Mockito;
import org.testng.annotations.Test;
import com.opengamma.engine.ComputationTargetSpecification;
import com.opengamma.engine.calcnode.CalculationJobItem;
import com.opengamma.engine.function.EmptyFunctionParameters;
import com.opengamma.engine.value.ValueSpecification;
import com.opengamma.engine.view.ExecutionLogMode;
import com.opengamma.util.test.TestGroup;
/**
* Tests the {@link MultipleFunctionBlacklistMaintainer} class.
*/
@Test(groups = TestGroup.UNIT)
public class MultipleFunctionBlacklistMaintainerTest {
private final CalculationJobItem _item1 = new CalculationJobItem("F1", new EmptyFunctionParameters(), ComputationTargetSpecification.NULL,
Collections.<ValueSpecification>emptySet(), Collections.<ValueSpecification>emptySet(), ExecutionLogMode.INDICATORS);
private final CalculationJobItem _item2 = new CalculationJobItem("F2", new EmptyFunctionParameters(), ComputationTargetSpecification.NULL,
Collections.<ValueSpecification>emptySet(), Collections.<ValueSpecification>emptySet(), ExecutionLogMode.INDICATORS);
public void testNone() {
final MultipleFunctionBlacklistMaintainer m = new MultipleFunctionBlacklistMaintainer(Collections.<FunctionBlacklistMaintainer>emptySet());
m.failedJobItem(_item1);
m.failedJobItems(Arrays.asList(_item1, _item2));
}
public void testOne() {
final FunctionBlacklistMaintainer u = Mockito.mock(FunctionBlacklistMaintainer.class);
final MultipleFunctionBlacklistMaintainer m = new MultipleFunctionBlacklistMaintainer(Collections.singleton(u));
m.failedJobItem(_item1);
Mockito.verify(u).failedJobItem(_item1);
m.failedJobItems(Arrays.asList(_item1, _item2));
Mockito.verify(u).failedJobItems(Arrays.asList(_item1, _item2));
}
public void testTwo() {
final FunctionBlacklistMaintainer u1 = Mockito.mock(FunctionBlacklistMaintainer.class);
final FunctionBlacklistMaintainer u2 = Mockito.mock(FunctionBlacklistMaintainer.class);
final MultipleFunctionBlacklistMaintainer m = new MultipleFunctionBlacklistMaintainer(Arrays.asList(u1, u2));
m.failedJobItem(_item1);
Mockito.verify(u1).failedJobItem(_item1);
Mockito.verify(u2).failedJobItem(_item1);
m.failedJobItems(Arrays.asList(_item1, _item2));
Mockito.verify(u1).failedJobItems(Arrays.asList(_item1, _item2));
Mockito.verify(u2).failedJobItems(Arrays.asList(_item1, _item2));
}
}