@Override @SuppressWarnings("unchecked") public <R> MarketDataBox<R> getValue(MarketDataId<R> id) { if (this.id.equals(id)) { return (MarketDataBox<R>) value; } return underlying.getValue(id); }
@Override public <T> MarketDataBox<T> getValue(MarketDataId<T> id) { Optional<MarketDataBox<T>> value1 = underlying1.findValue(id); return value1.isPresent() ? value1.get() : underlying2.getValue(id); }
@Override public <T> T getValue(MarketDataId<T> id) { return marketData.getValue(id).getValue(scenarioIndex); }
public void test_of_repeated() { ScenarioMarketData test = ScenarioMarketData.of(1, MarketData.of(VAL_DATE, ImmutableMap.of(ID1, VAL1))); assertThat(test.getValuationDate()).isEqualTo(MarketDataBox.ofSingleValue(VAL_DATE)); assertThat(test.getValue(ID1)).isEqualTo(MarketDataBox.ofSingleValue(VAL1)); }
public void test_of() { Map<MarketDataId<?>, MarketDataBox<?>> dataMap = ImmutableMap.of(ID1, BOX1); Map<ObservableId, LocalDateDoubleTimeSeries> tsMap = ImmutableMap.of(ID1, TIME_SERIES); ScenarioMarketData test = ScenarioMarketData.of(2, VAL_DATE, dataMap, tsMap); assertThat(test.getValuationDate()).isEqualTo(MarketDataBox.ofSingleValue(VAL_DATE)); assertThat(test.containsValue(ID1)).isTrue(); assertThat(test.containsValue(ID2)).isFalse(); assertThat(test.getValue(ID1)).isEqualTo(BOX1); assertThrows(() -> test.getValue(ID2), MarketDataNotFoundException.class); assertThat(test.findValue(ID1)).hasValue(BOX1); assertThat(test.findValue(ID2)).isEmpty(); assertThat(test.getIds()).isEqualTo(ImmutableSet.of(ID1)); assertThat(test.getTimeSeries(ID1)).isEqualTo(TIME_SERIES); assertThat(test.getTimeSeries(ID2)).isEqualTo(LocalDateDoubleTimeSeries.empty()); }
public void test_empty() { ScenarioMarketData test = ScenarioMarketData.empty(); assertThat(test.getValuationDate()).isEqualTo(MarketDataBox.empty()); assertThat(test.containsValue(ID1)).isFalse(); assertThat(test.containsValue(ID2)).isFalse(); assertThrows(() -> test.getValue(ID1), MarketDataNotFoundException.class); assertThrows(() -> test.getValue(ID2), MarketDataNotFoundException.class); assertThat(test.findValue(ID1)).isEmpty(); assertThat(test.findValue(ID2)).isEmpty(); assertThat(test.getIds()).isEqualTo(ImmutableSet.of()); assertThat(test.getTimeSeries(ID1)).isEqualTo(LocalDateDoubleTimeSeries.empty()); assertThat(test.getTimeSeries(ID2)).isEqualTo(LocalDateDoubleTimeSeries.empty()); }
public void test_of_noScenarios() { Map<MarketDataId<?>, MarketDataBox<?>> dataMap = ImmutableMap.of(ID1, MarketDataBox.empty()); ScenarioMarketData test = ScenarioMarketData.of(0, VAL_DATE, dataMap, ImmutableMap.of()); assertThat(test.getValuationDate()).isEqualTo(MarketDataBox.ofSingleValue(VAL_DATE)); assertThat(test.containsValue(ID1)).isTrue(); assertThat(test.containsValue(ID2)).isFalse(); assertThat(test.getValue(ID1)).isEqualTo(MarketDataBox.empty()); assertThrows(() -> test.getValue(ID2), MarketDataNotFoundException.class); assertThat(test.findValue(ID1)).hasValue(MarketDataBox.empty()); assertThat(test.findValue(ID2)).isEmpty(); assertThat(test.getIds()).isEqualTo(ImmutableSet.of(ID1)); assertThat(test.getTimeSeries(ID1)).isEqualTo(LocalDateDoubleTimeSeries.empty()); assertThat(test.getTimeSeries(ID2)).isEqualTo(LocalDateDoubleTimeSeries.empty()); }
assertThat(test.containsValue(ID1)).isTrue(); assertThat(test.containsValue(ID2)).isFalse(); assertThat(test.getValue(ID1)).isEqualTo(BOX1); assertThrows(() -> test.getValue(ID2), MarketDataNotFoundException.class); assertThat(test.findValue(ID1)).hasValue(BOX1); assertThat(test.findValue(ID2)).isEmpty();
MarketDataBox<T> box = getValue(id.getMarketDataId());
perturbation.getScenarioCount(), getScenarioCount())); return withValue(id, perturbation.applyTo(getValue(id), refData));
assertThat(combinedData.getValue(TEST_ID1).getValue(0)).isEqualTo(1.1); assertThat(combinedData.getValue(TEST_ID1).getValue(2)).isEqualTo(1.1); assertThat(combinedData.getValue(TEST_ID1).getValue(3)).isEqualTo(1.1); assertThat(combinedData.getValue(TEST_ID2)).isEqualTo(MarketDataBox.ofScenarioValues(2.0, 2.1, 2.2)); assertThat(combinedData.getValue(TEST_ID3)).isEqualTo(MarketDataBox.ofScenarioValues(3.0, 3.1, 3.2)); assertThat(combinedData.getTimeSeries(TEST_ID1)).isEqualTo(timeSeries1); assertThat(combinedData.getTimeSeries(TEST_ID2)).isEqualTo(timeSeries2a);