/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.calc; import static com.opengamma.strata.collect.TestHelper.date; import static org.assertj.core.api.Assertions.assertThat; import org.testng.annotations.Test; import com.google.common.collect.ImmutableList; import com.google.common.util.concurrent.MoreExecutors; import com.opengamma.strata.basics.CalculationTarget; import com.opengamma.strata.basics.ReferenceData; import com.opengamma.strata.calc.runner.CalculationFunctions; import com.opengamma.strata.data.MarketData; import com.opengamma.strata.data.scenario.ScenarioMarketData; /** * Test {@link CalculationRunner} and {@link DefaultCalculationRunner}. */ @Test public class DefaultCalculationRunnerTest { private static final ReferenceData REF_DATA = ReferenceData.standard(); private static final TestTarget TARGET = new TestTarget(); //------------------------------------------------------------------------- public void test_of() { try (CalculationRunner test = CalculationRunner.ofMultiThreaded()) { assertThat(test.getTaskRunner()).isNotNull(); } } //------------------------------------------------------------------------- public void calculate() { ImmutableList<CalculationTarget> targets = ImmutableList.of(TARGET); Column column1 = Column.of(TestingMeasures.PRESENT_VALUE); Column column2 = Column.of(TestingMeasures.BUCKETED_PV01); ImmutableList<Column> columns = ImmutableList.of(column1, column2); CalculationRules rules = CalculationRules.of(CalculationFunctions.empty()); MarketData md = MarketData.empty(date(2016, 6, 30)); ScenarioMarketData smd = ScenarioMarketData.empty(); // use of try-with-resources checks class is AutoCloseable try (CalculationRunner test = CalculationRunner.of(MoreExecutors.newDirectExecutorService())) { assertThat(test.calculate(rules, targets, columns, md, REF_DATA).get(0, 0).isFailure()).isTrue(); assertThat(test.calculateMultiScenario(rules, targets, columns, smd, REF_DATA).get(0, 0).isFailure()).isTrue(); } } //------------------------------------------------------------------------- private static class TestTarget implements CalculationTarget { } }