public void ValidateToString()
        {
            System.Threading.Thread.CurrentThread.CurrentCulture = System.Globalization.CultureInfo.InvariantCulture;
            var n = new TruncatedPareto(1d, 2d, 100d);

            Assert.AreEqual("Truncated Pareto(Scale = 1, Shape = 2, Truncation = 100)", n.ToString());
        }
        public void ValidateCumulativeDistribution(double scale, double shape, double truncation, double x, double expected)
        {
            var n = new TruncatedPareto(scale, shape, truncation);

            AssertHelpers.AlmostEqualRelative(expected, n.CumulativeDistribution(x), highPrecision);
            AssertHelpers.AlmostEqualRelative(expected, TruncatedPareto.CDF(scale, shape, truncation, x), highPrecision);
        }
        public void CanCreateTruncatedParetoWithRandomSource()
        {
            var randomSource = new Numerics.Random.MersenneTwister(100);
            var n            = new TruncatedPareto(10.0, 10.0, 1000, randomSource);

            Assert.AreEqual(randomSource, n.RandomSource);
        }
        public void ValidateInverseCumulativeDistribution(double scale, double shape, double truncation, double p, double expected)
        {
            var n = new TruncatedPareto(scale, shape, truncation);

            AssertHelpers.AlmostEqualRelative(expected, n.InvCDF(p), lowPrecision);
            AssertHelpers.AlmostEqualRelative(expected, TruncatedPareto.InvCDF(scale, shape, truncation, p), lowPrecision);
        }
        public void CanSampleSequence()
        {
            var n   = new TruncatedPareto(10.0, 10.0, 1000.0);
            var ied = n.Samples();

            GC.KeepAlive(ied.Take(5).ToArray());
        }
        public void ValidateDensityLn(double scale, double shape, double truncation, double x, double p)
        {
            var n = new TruncatedPareto(scale, shape, truncation);

            AssertHelpers.AlmostEqualRelative(p, n.DensityLn(x), lowPrecision);
            AssertHelpers.AlmostEqualRelative(p, TruncatedPareto.PDFLn(scale, shape, truncation, x), lowPrecision);
        }
        public void CanFillSampleArray()
        {
            double[] samples = new double[100];
            var      n       = new TruncatedPareto(10.0, 10.0, 1000.0);

            n.Samples(samples);
            Assert.IsTrue(!samples.Any(x => x == 0));
        }
        public void CanCreateTruncatedPareto(double scale, double shape, double truncation)
        {
            var n = new TruncatedPareto(scale, shape, truncation);

            Assert.AreEqual(scale, n.Scale, highPrecision);
            Assert.AreEqual(shape, n.Shape, highPrecision);
            Assert.AreEqual(truncation, n.Truncation, highPrecision);
        }
 public void CanSampleStatic()
 {
     TruncatedPareto.Sample(new Numerics.Random.MersenneTwister(100), 10.0, 10.0, 1000.0);
 }
        public void CanSample()
        {
            var n = new TruncatedPareto(10.0, 10.0, 1000.0);

            n.Sample();
        }
 public void FailSampleSequenceStatic()
 {
     Assert.That(() => { var ied = TruncatedPareto.Samples(new Numerics.Random.MersenneTwister(100), 10.0, 10.0, 5.0).First(); }, Throws.ArgumentException);
 }
 public void FailFillingSampleArrayStatic()
 {
     double[] samples = new double[100];
     Assert.That(() => { TruncatedPareto.Samples(new Numerics.Random.MersenneTwister(100), samples, 10.0, 10.0, 5.0); }, Throws.ArgumentException);
 }
        public void CanSampleSequenceStatic()
        {
            var ied = TruncatedPareto.Samples(new Numerics.Random.MersenneTwister(100), 10.0, 10.0, 1000.0);

            GC.KeepAlive(ied.Take(5).ToArray());
        }
 public void CanFillSampleArrayStatic()
 {
     double[] samples = new double[100];
     TruncatedPareto.Samples(new Numerics.Random.MersenneTwister(100), samples, 10.0, 10.0, 1000.0);
     Assert.IsTrue(!samples.Any(x => x == 0));
 }
        public void ValidateVariance(double scale, double shape, double truncation, double variance)
        {
            var n = new TruncatedPareto(scale, shape, truncation);

            AssertHelpers.AlmostEqualRelative(variance, n.Variance, highPrecision);
        }
 public void ValidateIsValidParameterSet(double scale, double shape, double truncation, bool validity)
 {
     Assert.AreEqual(TruncatedPareto.IsValidParameterSet(scale, shape, truncation), validity);
 }
        public void ValidateSkewness(double scale, double shape, double truncation, double skewness)
        {
            var n = new TruncatedPareto(scale, shape, truncation);

            AssertHelpers.AlmostEqualRelative(skewness, n.Skewness, highPrecision);
        }
        public void ValidateMoments(double scale, double shape, double truncation, int order, double value)
        {
            var n = new TruncatedPareto(scale, shape, truncation);

            AssertHelpers.AlmostEqualRelative(value, n.GetMoment(order), highPrecision);
        }
        public void ValidateEntropyFailsWithNotSupported(double scale, double shape, double truncation)
        {
            var n = new TruncatedPareto(scale, shape, truncation);

            Assert.Throws <NotSupportedException>(() => { var x = n.Entropy; });
        }
        public void ValidateMaximum()
        {
            var n = new TruncatedPareto(1.0, 2.0, 500.0);

            Assert.AreEqual(500.0, n.Maximum);
        }
        public void ValidateStandardDeviation(double scale, double shape, double truncation, double std)
        {
            var n = new TruncatedPareto(scale, shape, truncation);

            AssertHelpers.AlmostEqualRelative(std, n.StdDev, highPrecision);
        }
Пример #22
0
        public void ValidateToString()
        {
            var n = new TruncatedPareto(1d, 2d, 100d);

            Assert.AreEqual("Truncated Pareto(Scale = 1, Shape = 2, Truncation = 100)", n.ToString());
        }
        public void ValidateMean(double scale, double shape, double truncation, double mean)
        {
            var n = new TruncatedPareto(scale, shape, truncation);

            AssertHelpers.AlmostEqualRelative(mean, n.Mean, highPrecision);
        }