Пример #1
0
        public void GetPercentile_onePrice()
        {
            var percentiler = new PricePercentile(0.01, 1);

            percentiler.Add(0.03);
            Assert.Equal(0.03, percentiler.GetPercentilePrice(0.5));
        }
Пример #2
0
        public void GetPercentile_repeatElements()
        {
            var percentiler = new PricePercentile(0.01, 1);

            percentiler.Add(0.25);
            percentiler.Add(0.5);
            percentiler.Add(0.5);
            percentiler.Add(0.5);
            percentiler.Add(0.75);

            Assert.Equal(0.5, percentiler.GetPercentilePrice(0.25));
            Assert.Equal(0.5, percentiler.GetPercentilePrice(0.5));
            Assert.Equal(0.5, percentiler.GetPercentilePrice(0.75));
        }
Пример #3
0
        public void GetPercentile_threePrices()
        {
            var percentiler = new PricePercentile(0.01, 1);

            percentiler.Add(0.25);
            percentiler.Add(0.5);
            percentiler.Add(0.75);
            Assert.Equal(0, percentiler.GetPercentilePrice(0));
            Assert.Equal(0.25, percentiler.GetPercentilePrice(0.25));
            Assert.Equal(0.5, percentiler.GetPercentilePrice(0.5));
            Assert.Equal(0.75, percentiler.GetPercentilePrice(0.75));
            Assert.Equal(0.75, percentiler.GetPercentilePrice(0.9));
            Assert.Equal(0.75, percentiler.GetPercentilePrice(1));
        }
Пример #4
0
        public void Add_tests()
        {
            var percentiler = new PricePercentile(0.01, 100);

            for (var i = 0; i < 128; i++)
            {
                var rand = new Random();
                var p    = rand.NextDouble() * 100;
                p = Math.Round(p, 2);
                if (p < 0.01)
                {
                    p = 0.01;          // the min price
                }
                percentiler.Add(p);
            }

            Assert.Equal(128, percentiler.Count);
        }
Пример #5
0
        public void GetPercentile_empty()
        {
            var percentiler = new PricePercentile(0.01, 100);

            Assert.Equal(0, percentiler.GetPercentilePrice(0.5));
        }