@Override public MarketData combinedWith(MarketData other) { if (!(other instanceof ImmutableMarketData)) { return MarketData.super.combinedWith(other); } else { return combinedWith((ImmutableMarketData) other); } }
public void test_combinedWith_clash() { Map<MarketDataId<?>, Object> dataMap1 = ImmutableMap.of(ID1, VAL1); MarketData test1 = MarketData.of(VAL_DATE, dataMap1); Map<MarketDataId<?>, Object> dataMap2 = ImmutableMap.of(ID1, VAL3); MarketData test2 = MarketData.of(VAL_DATE, dataMap2); MarketData combined = test1.combinedWith(test2); assertEquals(combined.getValue(ID1), VAL1); assertEquals(combined.getIds(), ImmutableSet.of(ID1)); }
public void test_combinedWith_noClash() { Map<MarketDataId<?>, Object> dataMap1 = ImmutableMap.of(ID1, VAL1); MarketData test1 = MarketData.of(VAL_DATE, dataMap1); Map<MarketDataId<?>, Object> dataMap2 = ImmutableMap.of(ID2, VAL2); MarketData test2 = MarketData.of(VAL_DATE, dataMap2); MarketData test = test1.combinedWith(test2); assertEquals(test.getValue(ID1), VAL1); assertEquals(test.getValue(ID2), VAL2); assertEquals(test.getIds(), ImmutableSet.of(ID1, ID2)); }
public void test_combinedWith_noClashSame() { Map<MarketDataId<?>, Object> dataMap1 = ImmutableMap.of(ID1, VAL1); MarketData test1 = MarketData.of(VAL_DATE, dataMap1); Map<MarketDataId<?>, Object> dataMap2 = ImmutableMap.of(ID1, VAL1, ID2, VAL2); MarketData test2 = MarketData.of(VAL_DATE, dataMap2); MarketData test = test1.combinedWith(test2); assertEquals(test.getValue(ID1), VAL1); assertEquals(test.getValue(ID2), VAL2); assertEquals(test.getIds(), ImmutableSet.of(ID1, ID2)); }
public void test_combinedWith_dateMismatch() { Map<MarketDataId<?>, Object> dataMap1 = ImmutableMap.of(ID1, VAL1); MarketData test1 = MarketData.of(VAL_DATE, dataMap1); Map<MarketDataId<?>, Object> dataMap2 = ImmutableMap.of(ID1, VAL3); MarketData test2 = MarketData.of(VAL_DATE.plusDays(1), dataMap2); assertThrowsIllegalArg(() -> test1.combinedWith(test2)); }