public void TestGetOutcomeProbabilityDistribution(int inputId, int outputId, int numTrials)
        {
            var inputDistribution    = initialDistribution[inputId];
            var expectedDistribution = outcomeDistribution[outputId];

            var distributionGenerator = new CumulativeSumOfIndependentTrialsDistributionGenerator();
            var actualDistribution    = distributionGenerator.GetOutcomeProbabilityDistribution(inputDistribution, numTrials);

            Assert.AreEqual(expectedDistribution.Keys.Count, actualDistribution.Keys.Count);
            foreach (var key in actualDistribution.Keys)
            {
                Assert.IsTrue(expectedDistribution.ContainsKey(key));
                Assert.LessOrEqual(Math.Abs(actualDistribution[key] - expectedDistribution[key]), epsilon);
            }
        }
Beispiel #2
0
 public DiceWeighter()
 {
     this._random = new Random();
     this._distributionGenerator = new CumulativeSumOfIndependentTrialsDistributionGenerator();
     this._varianceCalculator    = new VarianceCalculator();
 }