public void TestContinuousDistributions_Gaussian()
        {
            TestContinuousDistributionShapeMatchesCumulativeDensity(
                new StandardDistribution(),
                -2.0,
                2.0,
                10,
                100000,
                0.01,
                "StandardDistribution()");

            TestContinuousDistributionShapeMatchesCumulativeDensity(
                new NormalDistribution(-5.0, 2.0),
                -9.0,
                -1.0,
                10,
                100000,
                0.01,
                "NormalDistribution(-5.0,2.0)");

            TestContinuousDistributionShapeMatchesCumulativeDensity(
                new LognormalDistribution(1.0, 0.5),
                0.0,
                8.0,
                10,
                100000,
                0.01,
                "LognormalDistribution(1.0,0.5)");

            // Test Parameter Estimation
            NormalDistribution source = new NormalDistribution(4.0, 2.0);
            NormalDistribution target = new NormalDistribution();
            target.EstimateDistributionParameters(source.EnumerateDoubles(1000));
            Assert.That(target.Mu, NumericIs.AlmostEqualTo(4.0, 0.1), "Normal Parameter Estimation: Mu");
            Assert.That(target.Sigma, NumericIs.AlmostEqualTo(2.0, 0.1), "Normal Parameter Estimation: Sigma");
        }