/**
* 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 static org.testng.Assert.assertEquals;
import static org.testng.Assert.assertFalse;
import static org.testng.Assert.assertNotNull;
import static org.testng.Assert.assertTrue;
import java.util.Arrays;
import java.util.Set;
import org.testng.annotations.Test;
import com.opengamma.engine.function.blacklist.FunctionBlacklistPolicy.Entry;
import com.opengamma.id.UniqueId;
import com.opengamma.util.test.TestGroup;
/**
* Tests the {@link FunctionBlacklistPolicyFactoryBean} class.
*/
@Test(groups = TestGroup.UNIT)
public class FunctionBlacklistPolicyFactoryBeanTest {
@Test(expectedExceptions = {IllegalArgumentException.class })
public void testNoUniqueIdOrName() {
final FunctionBlacklistPolicyFactoryBean bean = new FunctionBlacklistPolicyFactoryBean();
bean.setName(null);
bean.afterPropertiesSet();
}
public void testDefaultName() {
final FunctionBlacklistPolicyFactoryBean bean = new FunctionBlacklistPolicyFactoryBean();
bean.afterPropertiesSet();
assertNotNull(bean.getName());
}
public void testNoName() {
final FunctionBlacklistPolicyFactoryBean bean = new FunctionBlacklistPolicyFactoryBean();
bean.setUniqueId(UniqueId.of("Test", "Foo"));
bean.setName(null);
bean.afterPropertiesSet();
final FunctionBlacklistPolicy policy = bean.getObject();
assertEquals(policy.getUniqueId(), UniqueId.of("Test", "Foo"));
assertEquals(policy.getName(), "Foo");
assertTrue(policy.getEntries().isEmpty());
}
public void testNoUniqueId() {
final FunctionBlacklistPolicyFactoryBean bean = new FunctionBlacklistPolicyFactoryBean();
bean.setName("Foo");
bean.afterPropertiesSet();
final FunctionBlacklistPolicy policy = bean.getObject();
assertEquals(policy.getUniqueId(), UniqueId.of("com.opengamma.engine.function.blacklist", "Foo"));
assertEquals(policy.getName(), "Foo");
assertTrue(policy.getEntries().isEmpty());
}
public void testDefaultObjects() {
final FunctionBlacklistPolicyFactoryBean bean = new FunctionBlacklistPolicyFactoryBean();
bean.setName("Foo");
bean.setDefaultEntryActivationPeriod(60);
bean.setWildcard(true);
assertTrue(bean.isWildcard());
bean.setFunction(false);
assertFalse(bean.isFunction());
bean.setParameterizedFunctionActivationPeriod(1000);
assertTrue(bean.isParameterizedFunction());
bean.setPartialNode(false);
assertFalse(bean.isPartialNode());
bean.setBuildNode(true);
assertTrue(bean.isBuildNode());
bean.setExecutionNode(false);
assertFalse(bean.isExecutionNode());
bean.afterPropertiesSet();
final FunctionBlacklistPolicy policy = bean.getObject();
assertEquals(policy.getDefaultEntryActivationPeriod(), 60);
final Set<Entry> entries = policy.getEntries();
assertEquals(entries.size(), 3);
assertTrue(entries.contains(Entry.WILDCARD));
assertTrue(entries.contains(Entry.PARAMETERIZED_FUNCTION.activationPeriod(1000)));
assertTrue(entries.contains(Entry.BUILD_NODE));
}
public void testArbitraryEntries() {
final FunctionBlacklistPolicyFactoryBean bean = new FunctionBlacklistPolicyFactoryBean();
bean.setName("Foo");
bean.setWildcard(true);
bean.setEntries(Arrays.asList(Entry.BUILD_NODE, Entry.PARTIAL_NODE));
bean.afterPropertiesSet();
final FunctionBlacklistPolicy policy = bean.getObject();
final Set<Entry> entries = policy.getEntries();
assertEquals(entries.size(), 3);
assertTrue(entries.contains(Entry.WILDCARD));
assertTrue(entries.contains(Entry.PARTIAL_NODE));
assertTrue(entries.contains(Entry.BUILD_NODE));
}
}