Exponential extends AbstractContinousDistribution { public void setState(double lambda) { this.lambda = lambda; } Exponential(double lambda, Random randomGenerator); @Override double cdf(double x); @Override double nextDouble(); @Override double pdf(double x); void setState(double lambda); @Override String toString();  }
@Test public void consistency() { Exponential dist = new Exponential(1, RandomUtils.getRandom()); double[] breaks = {0.1053605, 0.2231436, 0.3566749, 0.5108256, 0.6931472, 0.9162907, 1.2039728, 1.6094379, 2.3025851}; for (double lambda : new double[]{0.01, 0.1, 1, 2, 5, 100}) { dist.setState(lambda); DistributionChecks.checkDistribution(dist, breaks, 0, 1 / lambda, 10000); } }
@Test public void testSetState() { Exponential dist = new Exponential(13.0, null); for (double lambda = 0.1; lambda < 1000; lambda *= 1.3) { dist.setState(lambda); checkPdf(dist, lambda); } }