public void test_of() { FxRateShifts test = FxRateShifts.of(ShiftType.SCALED, SHIFT_AMOUNT_2, EURUSD); assertEquals(test.getCurrencyPair(), EURUSD); assertEquals(test.getScenarioCount(), 3); assertEquals(test.getShiftAmount(), SHIFT_AMOUNT_2); assertEquals(test.getShiftType(), ShiftType.SCALED); }
@Override public MarketDataBox<FxRate> applyTo(MarketDataBox<FxRate> marketData, ReferenceData refData) { log.debug("Applying {} shift to FX rate '{}'", shiftType, marketData.getValue(0).getPair().toString()); return marketData.mapWithIndex( getScenarioCount(), (fxRate, scenarioIndex) -> FxRate.of( currencyPair, shiftType.applyShift(fxRate.fxRate(currencyPair), shiftAmount.get(scenarioIndex)))); }