final PricingEngine engine2 = new AnalyticDiscreteGeometricAveragePriceAsianEngine(stochProcess);
final DiscreteAveragingAsianOption option2 = new DiscreteAveragingAsianOption(
averageType, runningAccumulator, pastFixings, fixingDates, payoff, exercise);
option2.setPricingEngine(engine2);
calculated = option2.NPV();
tolerance = 3.0e-3;
if (Math.abs(calculated - expected) > tolerance) {
reportFailure("value", averageType, runningAccumulator, pastFixings, fixingDates, payoff, exercise, spot.value(),
qRate.value(), rRate.value(), today, vol.value(), expected, calculated, tolerance);
}