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 //https://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.hipparchus.random;
19
20 import org.hipparchus.UnitTestUtils;
21 import org.junit.jupiter.api.Test;
22
23 import static org.junit.jupiter.api.Assertions.assertEquals;
24
25
26 class UniformRandomGeneratorTest {
27
28 @Test
29 void testMeanAndStandardDeviation() {
30 RandomGenerator rg = new JDKRandomGenerator();
31 rg.setSeed(17399225432l);
32 UniformRandomGenerator generator = new UniformRandomGenerator(rg);
33 double[] sample = new double[10000];
34 for (int i = 0; i < sample.length; ++i) {
35 sample[i] = generator.nextNormalizedDouble();
36 }
37 assertEquals(0.0, UnitTestUtils.mean(sample), 0.07);
38 assertEquals(1.0, UnitTestUtils.variance(sample), 0.02);
39 }
40
41 }