/** * Copyright (C) 2016 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.calc.marketdata; import static com.opengamma.strata.collect.TestHelper.assertThrows; import static com.opengamma.strata.collect.TestHelper.coverImmutableBean; import static com.opengamma.strata.collect.TestHelper.date; import static org.testng.Assert.assertEquals; import java.time.LocalDate; import java.util.Optional; import org.testng.annotations.Test; import com.google.common.collect.ImmutableSet; import com.opengamma.strata.collect.result.FailureException; import com.opengamma.strata.collect.result.FailureReason; import com.opengamma.strata.collect.result.Result; import com.opengamma.strata.data.MarketDataNotFoundException; import com.opengamma.strata.data.scenario.MarketDataBox; /** * Test {@link BuiltMarketData}. */ @Test public class BuiltMarketDataTest { private static final LocalDate VAL_DATE = date(2011, 3, 8); private static final TestObservableId ID = TestObservableId.of("1"); //------------------------------------------------------------------------- public void test_withKnownFailure() { String failureMessage = "Something went wrong"; BuiltScenarioMarketData smd = BuiltScenarioMarketData.builder(MarketDataBox.ofSingleValue(VAL_DATE)) .addResult(ID, Result.failure(FailureReason.ERROR, failureMessage)) .build(); BuiltMarketData test = new BuiltMarketData(smd); assertEquals(test.getValuationDate(), VAL_DATE); assertEquals(test.containsValue(ID), false); assertEquals(test.getIds(), ImmutableSet.of()); assertEquals(test.findValue(ID), Optional.empty()); assertThrows(() -> test.getValue(ID), FailureException.class, failureMessage); } public void test_withUnknownFailure() { BuiltScenarioMarketData smd = BuiltScenarioMarketData.builder(MarketDataBox.ofSingleValue(VAL_DATE)).build(); BuiltMarketData test = new BuiltMarketData(smd); assertEquals(test.getValuationDate(), VAL_DATE); assertEquals(test.containsValue(ID), false); assertEquals(test.getIds(), ImmutableSet.of()); assertEquals(test.findValue(ID), Optional.empty()); assertThrows(() -> test.getValue(ID), MarketDataNotFoundException.class); } //------------------------------------------------------------------------- public void coverage() { coverImmutableBean(new BuiltMarketData(BuiltScenarioMarketData.empty())); } }