@Test public void doubleDouble() { Scenario scenario = new Scenario("Java API test"); scenario .surface() .apply() .shifts(ScenarioShiftType.RELATIVE, volShift(1.5, 6.0, 0.1), volShift(2.5, 1.0, 0.2)); ScenarioDefinition definition = scenario.createDefinition(); assertEquals("Java API test", definition.getName()); Map<DistinctMarketDataSelector, FunctionParameters> map = definition.getDefinitionMap(); FunctionParameters params = map.get(new VolatilitySurfaceSelector(null, null, null, null, null, null, null)); assertNotNull(params); Object value = ((SimpleFunctionParameters) params) .getValue(StructureManipulationFunction.EXPECTED_PARAMETER_NAME); CompositeStructureManipulator manipulator = (CompositeStructureManipulator) value; List manipulators = manipulator.getManipulators(); assertEquals(1, manipulators.size()); List<VolatilitySurfaceShift> shifts = ImmutableList.of( new VolatilitySurfaceShift(1.5, 6.0, 0.1), new VolatilitySurfaceShift(2.5, 1.0, 0.2)); VolatilitySurfaceShiftManipulator expected = VolatilitySurfaceShiftManipulator.create(ScenarioShiftType.RELATIVE, shifts); assertEquals(expected, manipulators.get(0)); }
@Test(expectedExceptions = IllegalArgumentException.class) public void dateDate() { Scenario scenario = new Scenario("Java API test"); scenario .surface() .apply() .shifts( ScenarioShiftType.RELATIVE, volShift(Period.ofYears(1), Period.ofMonths(6), 0.1), volShift(Period.ofYears(2), Period.ofMonths(9), 0.2)); }