private void AssertPropertyFilledWithDistribution(double actualValue, IContinousDistribution distribution)
        {
            var random        = new Random(seed);
            var sequenceStart = new[] { distribution.Generate(random), distribution.Generate(random), distribution.Generate(random), distribution.Generate(random), distribution.Generate(random) };

            random = new Random(seed);
            random.NextDouble();
            var sequence = sequenceStart.Concat(new[] { distribution.Generate(random), distribution.Generate(random), distribution.Generate(random), distribution.Generate(random), distribution.Generate(random) });

            Assert.That(sequence, Does.Contain(actualValue));
        }
Esempio n. 2
0
        public T Generate(Random rnd)
        {
            T e = new T();

            foreach (var prop in properties)
            {
                var curAttr = (FromDistributionAttribute)prop.GetCustomAttribute(typeof(FromDistributionAttribute));
                IContinousDistribution rndDistrib = null;
                if (Distributions.ContainsKey(prop))
                {
                    rndDistrib = Distributions[prop];
                }
                else if (curAttr != null)
                {
                    rndDistrib = curAttr.Distribution;
                }
                else
                {
                    continue;
                }
                prop.SetValue(e, rndDistrib.Generate(rnd));
            }
            return(e);
        }