public virtual void tokens() { CurrencyParameterSensitivity sensitivity1 = CurrencyParameterSensitivity.of(CurveName.of("curve1"), Currency.AUD, DoubleArray.EMPTY); CurrencyParameterSensitivity sensitivity2 = CurrencyParameterSensitivity.of(CurveName.of("curve2"), Currency.CHF, DoubleArray.EMPTY); CurrencyParameterSensitivities sensitivities = CurrencyParameterSensitivities.of(sensitivity1, sensitivity2); ISet <string> expected = ImmutableSet.of("curve1", "curve2", "aud", "chf"); CurrencyParameterSensitivitiesTokenEvaluator evaluator = new CurrencyParameterSensitivitiesTokenEvaluator(); assertThat(evaluator.tokens(sensitivities)).isEqualTo(expected); }
public virtual void evaluate() { CurrencyParameterSensitivity sensitivity1 = CurrencyParameterSensitivity.of(CurveName.of("curve1"), Currency.AUD, DoubleArray.EMPTY); CurrencyParameterSensitivity sensitivity2 = CurrencyParameterSensitivity.of(CurveName.of("curve2"), Currency.CHF, DoubleArray.EMPTY); CurrencyParameterSensitivity sensitivity3 = CurrencyParameterSensitivity.of(CurveName.of("curve2"), Currency.AUD, DoubleArray.EMPTY); CurrencyParameterSensitivities sensitivities = CurrencyParameterSensitivities.of(sensitivity1, sensitivity2, sensitivity3); CurrencyParameterSensitivitiesTokenEvaluator evaluator = new CurrencyParameterSensitivitiesTokenEvaluator(); CurrencyParameterSensitivities expected1 = CurrencyParameterSensitivities.of(sensitivity1, sensitivity3); EvaluationResult result1 = evaluator.evaluate(sensitivities, FUNCTIONS, "aud", ImmutableList.of()); assertThat(result1.Result).Success; CurrencyParameterSensitivities result1Value = (CurrencyParameterSensitivities)result1.Result.Value; assertThat(result1Value.Sensitivities).containsAll(expected1.Sensitivities); CurrencyParameterSensitivities expected2 = CurrencyParameterSensitivities.of(sensitivity2, sensitivity3); EvaluationResult result2 = evaluator.evaluate(sensitivities, FUNCTIONS, "curve2", ImmutableList.of()); assertThat(result2.Result).Success; CurrencyParameterSensitivities result2Value = (CurrencyParameterSensitivities)result2.Result.Value; assertThat(result2Value.Sensitivities).containsAll(expected2.Sensitivities); EvaluationResult result3 = evaluator.evaluate(sensitivities, FUNCTIONS, "chf", ImmutableList.of()); assertThat(result3.Result).hasValue(sensitivity2); EvaluationResult result4 = evaluator.evaluate(sensitivities, FUNCTIONS, "usd", ImmutableList.of()); assertThat(result4.Result).Failure; }