public void of_addition() {
ExtendedScenarioMarketData<String> test = ExtendedScenarioMarketData.of(ID3, VAL3, BASE_DATA);
assertEquals(test.getId(), ID3);
assertEquals(test.getValue(), VAL3);
assertEquals(test.getValuationDate(), MarketDataBox.ofSingleValue(VAL_DATE));
assertEquals(test.containsValue(ID1), true);
assertEquals(test.containsValue(ID2), true);
assertEquals(test.containsValue(ID3), true);
assertEquals(test.containsValue(ID4), false);
assertEquals(test.getValue(ID1), VAL1);
assertEquals(test.getValue(ID2), VAL2);
assertEquals(test.getValue(ID3), VAL3);
assertThrows(() -> test.getValue(ID4), MarketDataNotFoundException.class);
assertEquals(test.findValue(ID1), Optional.of(VAL1));
assertEquals(test.findValue(ID2), Optional.of(VAL2));
assertEquals(test.findValue(ID3), Optional.of(VAL3));
assertEquals(test.findValue(ID4), Optional.empty());
assertEquals(test.getIds(), ImmutableSet.of(ID1, ID2, ID3));
assertEquals(test.findIds(ID1.getMarketDataName()), ImmutableSet.of(ID1));
assertEquals(test.findIds(ID3.getMarketDataName()), ImmutableSet.of(ID3));
assertEquals(test.getTimeSeries(ID4), TIME_SERIES);
}