@Override public Stream<MarketData> scenarios() { return IntStream.range(0, getScenarioCount()) .mapToObj(scenarioIndex -> underlying); }
@Override protected Object propertyGet(Bean bean, String propertyName, boolean quiet) { switch (propertyName.hashCode()) { case -1203198113: // scenarioCount return ((RepeatedScenarioMarketData) bean).getScenarioCount(); case -1770633379: // underlying return ((RepeatedScenarioMarketData) bean).getUnderlying(); } return super.propertyGet(bean, propertyName, quiet); }
public void test_of() { RepeatedScenarioMarketData test = RepeatedScenarioMarketData.of(2, BASE_DATA); assertEquals(test.getScenarioCount(), 2); assertEquals(test.getUnderlying(), BASE_DATA); assertEquals(test.getValuationDate(), MarketDataBox.ofSingleValue(VAL_DATE)); assertEquals(test.containsValue(ID1), true); assertEquals(test.containsValue(ID2), true); assertEquals(test.containsValue(ID3), false); assertEquals(test.getValue(ID1), MarketDataBox.ofSingleValue(VAL1)); assertEquals(test.getValue(ID2), MarketDataBox.ofSingleValue(VAL2)); assertThrows(() -> test.getValue(ID3), MarketDataNotFoundException.class); assertEquals(test.findValue(ID1), Optional.of(MarketDataBox.ofSingleValue(VAL1))); assertEquals(test.findValue(ID2), Optional.of(MarketDataBox.ofSingleValue(VAL2))); assertEquals(test.findValue(ID3), Optional.empty()); assertEquals(test.getIds(), ImmutableSet.of(ID1, ID2)); assertEquals(test.findIds(ID1.getMarketDataName()), ImmutableSet.of(ID1)); assertEquals(test.getTimeSeries(ID4), TIME_SERIES); }