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