STATISTICS-33: Move sample method to the TestUtils
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractContinuousDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractContinuousDistribution.java
index 62cdc6b..ee8fb3d 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractContinuousDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractContinuousDistribution.java
@@ -154,23 +154,6 @@
return x;
}
- /**
- * Utility function for allocating an array and filling it with {@code n}
- * samples generated by the given {@code sampler}.
- *
- * @param n Number of samples.
- * @param sampler Sampler.
- * @return an array of size {@code n}.
- */
- public static double[] sample(int n,
- ContinuousDistribution.Sampler sampler) {
- final double[] samples = new double[n];
- for (int i = 0; i < n; i++) {
- samples[i] = sampler.sample();
- }
- return samples;
- }
-
/**{@inheritDoc} */
@Override
public ContinuousDistribution.Sampler createSampler(final UniformRandomProvider rng) {
diff --git a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistribution.java b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistribution.java
index 67ca871..8779a34 100644
--- a/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistribution.java
+++ b/commons-statistics-distribution/src/main/java/org/apache/commons/statistics/distribution/AbstractDiscreteDistribution.java
@@ -160,23 +160,6 @@
return result;
}
- /**
- * Utility function for allocating an array and filling it with {@code n}
- * samples generated by the given {@code sampler}.
- *
- * @param n Number of samples.
- * @param sampler Sampler.
- * @return an array of size {@code n}.
- */
- public static int[] sample(int n,
- DiscreteDistribution.Sampler sampler) {
- final int[] samples = new int[n];
- for (int i = 0; i < n; i++) {
- samples[i] = sampler.sample();
- }
- return samples;
- }
-
/** {@inheritDoc} */
@Override
public DiscreteDistribution.Sampler createSampler(final UniformRandomProvider rng) {
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java
index 6407324..336b61c 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/BetaDistributionTest.java
@@ -450,7 +450,7 @@
for (final double alpha : ALPHA_BETAS) {
for (final double beta : ALPHA_BETAS) {
final BetaDistribution betaDistribution = new BetaDistribution(alpha, beta);
- final double[] observed = AbstractContinuousDistribution.sample(numSamples,
+ final double[] observed = TestUtils.sample(numSamples,
betaDistribution.createSampler(rng));
Arrays.sort(observed);
@@ -474,7 +474,7 @@
final BetaDistribution betaDistribution = new BetaDistribution(alpha, beta);
final ContinuousDistribution.Sampler sampler = betaDistribution.createSampler(rng);
- final double[] observed = AbstractContinuousDistribution.sample(numSamples, sampler);
+ final double[] observed = TestUtils.sample(numSamples, sampler);
final double gT = gTest(betaDistribution, observed);
Assertions.assertFalse(gT < level,
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java
index 2b285ee..6c5efff 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ContinuousDistributionAbstractTest.java
@@ -473,7 +473,7 @@
final int sampleSize = 1000;
final ContinuousDistribution.Sampler sampler =
distribution.createSampler(RandomSource.create(RandomSource.WELL_19937_C, 123456789L));
- final double[] sample = AbstractContinuousDistribution.sample(sampleSize, sampler);
+ final double[] sample = TestUtils.sample(sampleSize, sampler);
final double[] quartiles = TestUtils.getDistributionQuartiles(distribution);
final double[] expected = {250, 250, 250, 250};
final long[] counts = new long[4];
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java
index a50a521..521dcf5 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/DiscreteDistributionAbstractTest.java
@@ -286,7 +286,7 @@
// Use fixed seed.
final DiscreteDistribution.Sampler sampler =
dist.createSampler(RandomSource.create(RandomSource.WELL_512_A, 1000));
- final int[] sample = AbstractDiscreteDistribution.sample(sampleSize, sampler);
+ final int[] sample = TestUtils.sample(sampleSize, sampler);
for (int i = 0; i < sampleSize; i++) {
for (int j = 0; j < length; j++) {
if (sample[i] == densityPoints[j]) {
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TestUtils.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TestUtils.java
index df770ee..19920e8 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TestUtils.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/TestUtils.java
@@ -270,4 +270,38 @@
}
return positiveMassCount;
}
+
+ /**
+ * Utility function for allocating an array and filling it with {@code n}
+ * samples generated by the given {@code sampler}.
+ *
+ * @param n Number of samples.b
+ * @param sampler Sampler.
+ * @return an array of size {@code n}.
+ */
+ public static double[] sample(int n,
+ ContinuousDistribution.Sampler sampler) {
+ final double[] samples = new double[n];
+ for (int i = 0; i < n; i++) {
+ samples[i] = sampler.sample();
+ }
+ return samples;
+ }
+
+ /**
+ * Utility function for allocating an array and filling it with {@code n}
+ * samples generated by the given {@code sampler}.
+ *
+ * @param n Number of samples.
+ * @param sampler Sampler.
+ * @return an array of size {@code n}.
+ */
+ public static int[] sample(int n,
+ DiscreteDistribution.Sampler sampler) {
+ final int[] samples = new int[n];
+ for (int i = 0; i < n; i++) {
+ samples[i] = sampler.sample();
+ }
+ return samples;
+ }
}
diff --git a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java
index 46af645..28f3090 100644
--- a/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java
+++ b/commons-statistics-distribution/src/test/java/org/apache/commons/statistics/distribution/ZipfDistributionTest.java
@@ -152,7 +152,7 @@
for (int i = 0; i < numPoints; i++) {
expectedCounts[i] = sampleSize * (weights[i] / weightSum);
}
- final int[] sample = AbstractDiscreteDistribution.sample(sampleSize, distribution);
+ final int[] sample = TestUtils.sample(sampleSize, distribution);
for (final int s : sample) {
observedCounts[s - 1]++;
}