/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.engine.marketdata.availability; import static org.testng.Assert.assertFalse; import static org.testng.Assert.assertNotNull; import static org.testng.Assert.assertNull; import static org.testng.Assert.assertTrue; import org.testng.annotations.Test; import com.opengamma.engine.ComputationTargetSpecification; import com.opengamma.engine.target.ComputationTargetType; import com.opengamma.engine.target.Primitive; import com.opengamma.engine.value.ValueRequirement; import com.opengamma.id.UniqueId; import com.opengamma.util.test.TestGroup; /** * Tests the {@link DefaultMarketDataAvailabilityProvider} class. */ @Test(groups = TestGroup.UNIT) public class DefaultMarketDataAvailabilityProviderTest { protected MarketDataAvailabilityProvider create() { return new OptimisticMarketDataAvailabilityFilter().withProvider(new DefaultMarketDataAvailabilityProvider()); } public void testGetAvailability() { final MarketDataAvailabilityProvider availability = create(); final ComputationTargetSpecification targetSpec = new ComputationTargetSpecification(ComputationTargetType.SECURITY, UniqueId.of("Security", "Foo")); final Object target = new Primitive(UniqueId.of("Security", "Foo")); assertNull(availability.getAvailability(targetSpec, target, new ValueRequirement("Value", targetSpec))); assertNotNull(availability.getAvailability(targetSpec, new Primitive(UniqueId.of("Security", "Foo")), new ValueRequirement("Market_Value", targetSpec))); } public void testIsAvailable() { final MarketDataAvailabilityFilter availability = create().getAvailabilityFilter(); final ComputationTargetSpecification targetSpec = new ComputationTargetSpecification(ComputationTargetType.SECURITY, UniqueId.of("Security", "Foo")); final Object target = new Primitive(UniqueId.of("Security", "Foo")); assertFalse(availability.isAvailable(targetSpec, target, new ValueRequirement("Value", targetSpec))); assertTrue(availability.isAvailable(targetSpec, new Primitive(UniqueId.of("Security", "Foo")), new ValueRequirement("Market_Value", targetSpec))); } }