Modified to extent ContinuousDistributionAbstractTest.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/math/trunk@141253 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
5b9f353eea
commit
09d2c9d132
|
@ -16,12 +16,73 @@
|
||||||
|
|
||||||
package org.apache.commons.math.distribution;
|
package org.apache.commons.math.distribution;
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @version $Revision: 1.16 $ $Date: 2004/05/23 21:34:19 $
|
* Test cases for GammaDistribution.
|
||||||
|
* Extends ContinuousDistributionAbstractTest. See class javadoc for
|
||||||
|
* ContinuousDistributionAbstractTest for details.
|
||||||
|
*
|
||||||
|
* @version $Revision: 1.17 $ $Date: 2004/05/31 00:55:22 $
|
||||||
*/
|
*/
|
||||||
public class GammaDistributionTest extends TestCase {
|
public class GammaDistributionTest extends ContinuousDistributionAbstractTest {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor for GammaDistributionTest.
|
||||||
|
* @param name
|
||||||
|
*/
|
||||||
|
public GammaDistributionTest(String name) {
|
||||||
|
super(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
//-------------- Implementations for abstract methods -----------------------
|
||||||
|
|
||||||
|
/** Creates the default continuous distribution instance to use in tests. */
|
||||||
|
public ContinuousDistribution makeDistribution() {
|
||||||
|
return DistributionFactory.newInstance().createGammaDistribution(4d, 2d);
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Creates the default cumulative probability distribution test input values */
|
||||||
|
public double[] makeCumulativeTestPoints() {
|
||||||
|
// quantiles computed using R version 1.8.1 (linux version)
|
||||||
|
return new double[] {0.8571048, 1.646497, 2.179731, 2.732637,
|
||||||
|
3.489539, 26.12448, 20.09024, 17.53455,
|
||||||
|
15.50731, 13.36157};
|
||||||
|
}
|
||||||
|
|
||||||
|
/** Creates the default cumulative probability density test expected values */
|
||||||
|
public double[] makeCumulativeTestValues() {
|
||||||
|
return new double[] {0.001d, 0.01d, 0.025d, 0.05d, 0.1d, 0.999d,
|
||||||
|
0.990d, 0.975d, 0.950d, 0.900d};
|
||||||
|
}
|
||||||
|
|
||||||
|
// --------------------- Override tolerance --------------
|
||||||
|
protected void setup() throws Exception {
|
||||||
|
super.setUp();
|
||||||
|
setTolerance(1E-6);
|
||||||
|
}
|
||||||
|
|
||||||
|
//---------------------------- Additional test cases -------------------------
|
||||||
|
public void testParameterAccessors() {
|
||||||
|
GammaDistribution distribution = (GammaDistribution) getDistribution();
|
||||||
|
assertEquals(4d, distribution.getAlpha(), 0);
|
||||||
|
distribution.setAlpha(3d);
|
||||||
|
assertEquals(3d, distribution.getAlpha(), 0);
|
||||||
|
assertEquals(2d, distribution.getBeta(), 0);
|
||||||
|
distribution.setBeta(4d);
|
||||||
|
assertEquals(4d, distribution.getBeta(), 0);
|
||||||
|
try {
|
||||||
|
distribution.setAlpha(0d);
|
||||||
|
fail("Expecting IllegalArgumentException for alpha = 0");
|
||||||
|
} catch (IllegalArgumentException ex) {
|
||||||
|
// expected
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
distribution.setBeta(0d);
|
||||||
|
fail("Expecting IllegalArgumentException for beta = 0");
|
||||||
|
} catch (IllegalArgumentException ex) {
|
||||||
|
// expected
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public void testProbabilities() throws Exception {
|
public void testProbabilities() throws Exception {
|
||||||
testProbability(-1.000, 4.0, 2.0, .0000);
|
testProbability(-1.000, 4.0, 2.0, .0000);
|
||||||
testProbability(15.501, 4.0, 2.0, .9499);
|
testProbability(15.501, 4.0, 2.0, .9499);
|
||||||
|
|
Loading…
Reference in New Issue