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 GaussianRandomGeneratorTest { 27 28 @Test 29 void testMeanAndStandardDeviation() { 30 RandomGenerator rg = new JDKRandomGenerator(); 31 rg.setSeed(17399225432l); 32 GaussianRandomGenerator generator = new GaussianRandomGenerator(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.012); 38 assertEquals(1.0, UnitTestUtils.variance(sample), 0.01); 39 } 40 41 }