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)); }
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); }