public void addNothing() { ImmutableScenarioMarketData marketData = ImmutableScenarioMarketData.builder(VAL_DATE).build(); assertEquals(marketData.getScenarioCount(), 1); }
public void test_combinedWithOtherHasOneScenario() { ImmutableScenarioMarketData marketData1 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(1.0, 1.1)) .build(); ImmutableScenarioMarketData marketData2 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID1, MarketDataBox.ofSingleValue(1.0)) .build(); ImmutableScenarioMarketData expected = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID1, MarketDataBox.ofSingleValue(1.0)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(1.0, 1.1)) .build(); assertThat(marketData1.combinedWith(marketData2)).isEqualTo(expected); }
public void test_combinedWithReceiverHasOneScenario() { ImmutableScenarioMarketData marketData1 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID1, MarketDataBox.ofSingleValue(1.0)) .build(); ImmutableScenarioMarketData marketData2 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(1.0, 1.1)) .build(); ImmutableScenarioMarketData expected = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID1, MarketDataBox.ofSingleValue(1.0)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(1.0, 1.1)) .build(); assertThat(marketData1.combinedWith(marketData2)).isEqualTo(expected); }
public void test_combinedWithIncompatibleScenarioCount() { ImmutableScenarioMarketData marketData1 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID1, MarketDataBox.ofScenarioValues(1.0, 1.1, 1.2)) .build(); ImmutableScenarioMarketData marketData2 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(1.0, 1.1)) .build(); assertThrowsIllegalArg(() -> marketData1.combinedWith(marketData2), ".* same number of scenarios .* 3 and 2"); }
@BeforeClass public void setUp() throws Exception { ScenarioMarketData marketData = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addValue(FxRateId.of(Currency.GBP, Currency.USD), FxRate.of(Currency.GBP, Currency.USD, 1.4d)) .build(); fxRateProvider = ScenarioFxRateProvider.of(marketData); }
private static ImmutableScenarioMarketData baseData() { Map<ObservableId, LocalDateDoubleTimeSeries> timeSeriesMap = ImmutableMap.of(ID4, TIME_SERIES); return ImmutableScenarioMarketData.builder(VAL_DATE) .addBox(ID1, VAL1) .addBox(ID2, VAL2) .addTimeSeriesMap(timeSeriesMap) .build(); }
public void test_combinedWithIncompatibleScenarioCount() { ImmutableScenarioMarketData marketData1 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID1, MarketDataBox.ofScenarioValues(1.0, 1.1, 1.2)) .build(); ImmutableScenarioMarketData marketData2 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(1.0, 1.1)) .build(); assertThrowsIllegalArg(() -> marketData1.combinedWith(marketData2), ".* same number of scenarios .* 3 and 2"); }
public void test_combinedWithReceiverHasOneScenario() { ImmutableScenarioMarketData marketData1 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID1, MarketDataBox.ofSingleValue(1.0)) .build(); ImmutableScenarioMarketData marketData2 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(1.0, 1.1)) .build(); ImmutableScenarioMarketData expected = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID1, MarketDataBox.ofSingleValue(1.0)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(1.0, 1.1)) .build(); ScenarioMarketData combined = marketData1.combinedWith(marketData2); assertThat(combined).isEqualTo(expected); assertThat(combined.getIds()).isEqualTo(ImmutableSet.of(TEST_ID1, TEST_ID2)); }
public void test_combinedWithOtherHasOneScenario() { ImmutableScenarioMarketData marketData1 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(1.0, 1.1)) .build(); ImmutableScenarioMarketData marketData2 = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID1, MarketDataBox.ofSingleValue(1.0)) .build(); ImmutableScenarioMarketData expected = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addBox(TEST_ID1, MarketDataBox.ofSingleValue(1.0)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(1.0, 1.1)) .build(); ScenarioMarketData combined = marketData1.combinedWith(marketData2); assertThat(combined).isEqualTo(expected); assertThat(combined.getIds()).isEqualTo(ImmutableSet.of(TEST_ID1, TEST_ID2)); }
public void test_addValueMap() { FxRateId eurGbpId = FxRateId.of(Currency.EUR, Currency.GBP); FxRateId eurUsdId = FxRateId.of(Currency.EUR, Currency.USD); FxRate eurGbpRate = FxRate.of(Currency.EUR, Currency.GBP, 0.8); FxRate eurUsdRate = FxRate.of(Currency.EUR, Currency.USD, 1.1); Map<FxRateId, FxRate> values = ImmutableMap.of( eurGbpId, eurGbpRate, eurUsdId, eurUsdRate); ImmutableScenarioMarketData marketData = ImmutableScenarioMarketData.builder(VAL_DATE) .addValueMap(values) .build(); assertEquals(marketData.getScenarioCount(), 1); assertEquals(marketData.getIds(), ImmutableSet.of(eurGbpId, eurUsdId)); assertEquals(marketData.getValue(eurGbpId), MarketDataBox.ofSingleValue(eurGbpRate)); assertEquals(marketData.getValue(eurUsdId), MarketDataBox.ofSingleValue(eurUsdRate)); }
public void test_addSingleAndList() { FxRateId eurGbpId = FxRateId.of(Currency.EUR, Currency.GBP); FxRateId eurUsdId = FxRateId.of(Currency.EUR, Currency.USD); FxRate eurGbpRate = FxRate.of(Currency.EUR, Currency.GBP, 0.8); FxRate eurUsdRate1 = FxRate.of(Currency.EUR, Currency.USD, 1.1); FxRate eurUsdRate2 = FxRate.of(Currency.EUR, Currency.USD, 1.2); ImmutableScenarioMarketData marketData = ImmutableScenarioMarketData.builder(VAL_DATE) .addValue(eurGbpId, eurGbpRate) .addScenarioValue(eurUsdId, ImmutableList.of(eurUsdRate1, eurUsdRate2)) .build(); assertEquals(marketData.getScenarioCount(), 2); assertEquals(marketData.getIds(), ImmutableSet.of(eurGbpId, eurUsdId)); assertEquals(marketData.getValue(eurGbpId), MarketDataBox.ofSingleValue(eurGbpRate)); assertEquals(marketData.getValue(eurUsdId), MarketDataBox.ofScenarioValues(eurUsdRate1, eurUsdRate2)); }
public void test_values() { FxRateId eurGbpId = FxRateId.of(Currency.EUR, Currency.GBP); FxRateId eurUsdId = FxRateId.of(Currency.EUR, Currency.USD); FxRate eurGbpRate1 = FxRate.of(Currency.EUR, Currency.GBP, 0.85); FxRate eurGbpRate2 = FxRate.of(Currency.EUR, Currency.GBP, 0.8); FxRate eurUsdRate2 = FxRate.of(Currency.EUR, Currency.USD, 1.1); Map<FxRateId, FxRate> values1 = ImmutableMap.of( eurGbpId, eurGbpRate1); Map<FxRateId, FxRate> values2 = ImmutableMap.of( eurGbpId, eurGbpRate2, eurUsdId, eurUsdRate2); ImmutableScenarioMarketData marketData = ImmutableScenarioMarketData.builder(VAL_DATE) .values(values1) .values(values2) // replaces values1 .build(); assertEquals(marketData.getScenarioCount(), 1); assertEquals(marketData.getIds(), ImmutableSet.of(eurGbpId, eurUsdId)); assertEquals(marketData.getValue(eurGbpId), MarketDataBox.ofSingleValue(eurGbpRate2)); assertEquals(marketData.getValue(eurUsdId), MarketDataBox.ofSingleValue(eurUsdRate2)); }
public void test_addScenarioValueMap() { FxRateId eurGbpId = FxRateId.of(Currency.EUR, Currency.GBP); FxRateId eurUsdId = FxRateId.of(Currency.EUR, Currency.USD); FxRateScenarioArray eurGbpRates = FxRateScenarioArray.of(Currency.EUR, Currency.GBP, DoubleArray.of(0.79, 0.8, 0.81)); FxRateScenarioArray eurUsdRates = FxRateScenarioArray.of(Currency.EUR, Currency.USD, DoubleArray.of(1.09, 1.1, 1.11)); Map<FxRateId, FxRateScenarioArray> values = ImmutableMap.of( eurGbpId, eurGbpRates, eurUsdId, eurUsdRates); ImmutableScenarioMarketData marketData = ImmutableScenarioMarketData.builder(VAL_DATE) .addScenarioValueMap(values) .build(); assertEquals(marketData.getScenarioCount(), 3); assertEquals(marketData.getIds(), ImmutableSet.of(eurGbpId, eurUsdId)); assertEquals(marketData.getValue(eurGbpId), MarketDataBox.ofScenarioValue(eurGbpRates)); assertEquals(marketData.getValue(eurUsdId), MarketDataBox.ofScenarioValue(eurUsdRates)); }
public void test_addSingleAndBox() { FxRateId eurGbpId = FxRateId.of(Currency.EUR, Currency.GBP); FxRateId eurUsdId = FxRateId.of(Currency.EUR, Currency.USD); FxRate eurGbpRate = FxRate.of(Currency.EUR, Currency.GBP, 0.8); FxRate eurUsdRate1 = FxRate.of(Currency.EUR, Currency.USD, 1.1); FxRate eurUsdRate2 = FxRate.of(Currency.EUR, Currency.USD, 1.2); ImmutableScenarioMarketData marketData = ImmutableScenarioMarketData.builder(VAL_DATE) .addValue(eurGbpId, eurGbpRate) .addBox(eurUsdId, MarketDataBox.ofScenarioValues(eurUsdRate1, eurUsdRate2)) .build(); assertEquals(marketData.getScenarioCount(), 2); assertEquals(marketData.getIds(), ImmutableSet.of(eurGbpId, eurUsdId)); assertEquals(marketData.getValue(eurGbpId), MarketDataBox.ofSingleValue(eurGbpRate)); assertEquals(marketData.getValue(eurUsdId), MarketDataBox.ofScenarioValues(eurUsdRate1, eurUsdRate2)); }
public void specifySource() { ObservableSource testSource = ObservableSource.of("test"); ScenarioMarketData marketData = ImmutableScenarioMarketData.builder(LocalDate.of(2011, 3, 8)) .addValue(FxRateId.of(Currency.GBP, Currency.USD), FxRate.of(Currency.GBP, Currency.USD, 1.4d)) .addValue(FxRateId.of(Currency.GBP, Currency.USD, testSource), FxRate.of(Currency.GBP, Currency.USD, 1.41d)) .build(); ScenarioFxRateProvider defaultRateProvider = ScenarioFxRateProvider.of(marketData); ScenarioFxRateProvider sourceRateProvider = ScenarioFxRateProvider.of(marketData, testSource); assertThat(defaultRateProvider.fxRate(Currency.GBP, Currency.USD, 0)).isEqualTo(1.4d); assertThat(sourceRateProvider.fxRate(Currency.GBP, Currency.USD, 0)).isEqualTo(1.41d); } }
.addBox(TEST_ID2, MarketDataBox.ofScenarioValues(2.0, 2.1, 2.2)) .addBox(TEST_ID3, MarketDataBox.ofScenarioValues(3.0, 3.1, 3.2)) .build();
.addBox(TEST_ID1, MarketDataBox.ofScenarioValues(1.0, 1.1, 1.2)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(2.0, 2.1, 2.2)) .build(); .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(21.0, 21.1, 21.2)) .addBox(TEST_ID3, MarketDataBox.ofScenarioValues(3.0, 3.1, 3.2)) .build(); .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(2.0, 2.1, 2.2)) .addBox(TEST_ID3, MarketDataBox.ofScenarioValues(3.0, 3.1, 3.2)) .build();
.addBox(TEST_ID1, MarketDataBox.ofScenarioValues(1.0, 1.1, 1.2)) .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(2.0, 2.1, 2.2)) .build(); .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(21.0, 21.1, 21.2)) .addBox(TEST_ID3, MarketDataBox.ofScenarioValues(3.0, 3.1, 3.2)) .build(); .addBox(TEST_ID2, MarketDataBox.ofScenarioValues(2.0, 2.1, 2.2)) .addBox(TEST_ID3, MarketDataBox.ofScenarioValues(3.0, 3.1, 3.2)) .build();