public void MonteCarloTest_WhenRunNTimes_ThenWeReportOurResults(int numberOfTimes) { // Arrange var monteCarloTest = new Simulation(); // Act var prizes = monteCarloTest.RunSimulationStickingEveryTime(numberOfTimes); // Assert Console.WriteLine("Run {0} times (no contestantWantsToSwitch): {1} cars won.", numberOfTimes, prizes.Count(p => p == Prize.Car)); }
public void MonteCarloTest_WhenRunNTimes_ThenTheContestantsShouldWinAThirdOfTheTime(int numberOfTimes) { // Arrange var monteCarloTest = new Simulation(); // Act var prizes = monteCarloTest.RunSimulationStickingEveryTime(numberOfTimes); var prizeCount = prizes.Count(p => p == Prize.Car); var percentWon = (int)(((float)prizeCount / numberOfTimes) * 100); // Assert Assert.AreEqual(33, percentWon); Console.WriteLine("Run {0} times (contestantWantsToSwitch): {1} cars won. Contestant won {2}% of the time", numberOfTimes, prizeCount, percentWon); }