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); } }
public DiceWeighter() { this._random = new Random(); this._distributionGenerator = new CumulativeSumOfIndependentTrialsDistributionGenerator(); this._varianceCalculator = new VarianceCalculator(); }