1 //Licensed to the Apache Software Foundation (ASF) under one
2 //or more contributor license agreements. See the NOTICE file
3 //distributed with this work for additional information
4 //regarding copyright ownership. The ASF licenses this file
5 //to you under the Apache License, Version 2.0 (the
6 //"License"); you may not use this file except in compliance
7 //with the License. You may obtain a copy of the License at
8
9 //http://www.apache.org/licenses/LICENSE-2.0
10
11 //Unless required by applicable law or agreed to in writing,
12 //software distributed under the License is distributed on an
13 //"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14 //KIND, either express or implied. See the License for the
15 //specific language governing permissions and limitations
16 //under the License.
17
18 package org.apache.commons.math.random;
19
20 import org.apache.commons.math.stat.StatUtils;
21
22 import junit.framework.*;
23
24 public class UniformRandomGeneratorTest
25 extends TestCase {
26
27 public UniformRandomGeneratorTest(String name) {
28 super(name);
29 }
30
31 public void testMeanAndStandardDeviation() {
32 RandomGenerator rg = new JDKRandomGenerator();
33 rg.setSeed(17399225432l);
34 UniformRandomGenerator generator = new UniformRandomGenerator(rg);
35 double[] sample = new double[10000];
36 for (int i = 0; i < sample.length; ++i) {
37 sample[i] = generator.nextNormalizedDouble();
38 }
39 assertEquals(0.0, StatUtils.mean(sample), 0.07);
40 assertEquals(1.0, StatUtils.variance(sample), 0.02);
41 }
42
43 public static Test suite() {
44 return new TestSuite(UniformRandomGeneratorTest.class);
45 }
46
47 }