public void OnlyOneDoorIsTheWinner() { Monty game = new Monty(1000); Assert.True(game.Doors.Where(d => d.ContainsPrize == true).Count() == 1); Assert.True(game.Doors.Where(d => d.ContainsPrize == false).Count() == 999); }
public void isWinReturnsFalseWhenContestantLose() { Monty game = new Monty(2); game.PickDoor(Array.IndexOf(game.Doors, game.Doors.Single(d => d.ContainsPrize == false))); Assert.False(game.IsWin()); }
public void isWinReturnsTrueWhenContestantWins() { Monty game = new Monty(2); game.PickDoor(Array.IndexOf(game.Doors, game.Doors.Single(d => d.ContainsPrize == true))); Assert.True(game.IsWin()); }
public void ContestantCanPickDoor() { Monty game = new Monty(3); int doorToPick = 0; game.PickDoor(doorToPick); Assert.True(game.Doors[doorToPick].Picked == true); }
public void HostRevealsDoorWhenMultipleToReveal() { Monty game = new Monty(10, mockRandom); int doorToPick = 0; game.PickDoor(doorToPick); game.RevealDoors(); Assert.True(game.Doors.Where(d => d.Revealed).Count() == 8); }
public void HostRevealsDoorWhenDudPicked() { Monty game = new Monty(3, mockRandom); int doorToPick = 1; game.PickDoor(doorToPick); game.RevealDoors(); Assert.True(game.Doors.Where(d => d.Revealed == true).Count() == 1); }
public void FinalPreparation() { int doorNumber = 3; Room room = new Room(doorNumber); Monty.SetPrize(room); Player.ChooseDoor(room); Monty.MontyOpenDoors(room); List <Door> closedDoors = room.Doors.FindAll(d => d.IsOpened == false); Assert.IsTrue(closedDoors.Count == 2); }
public void PlaceAPrizeTest() { int doorNumber = 3; int prizeCount = 0; Room room = new Room(doorNumber); Monty.SetPrize(room); foreach (var door in room.Doors) { if (door.HasPrize) { prizeCount++; } } Assert.IsTrue(prizeCount == 1); }
private static int RunExperiment(List <Room> rooms) { int numbersOfWin = 0; foreach (Room room in rooms) { Monty.SetPrize(room); Player.ChooseDoor(room); Monty.MontyOpenDoors(room); if (Player.ChangeDecision(room)) { numbersOfWin++; } } return(numbersOfWin); }
public void OpenDoorsTest() { int doorNumber = 3; int closedDoorsNumber = 0; Room room = new Room(doorNumber); Monty.SetPrize(room); Monty.MontyOpenDoors(room); foreach (var door in room.Doors) { if (!door.IsOpened) { closedDoorsNumber++; } } Assert.IsTrue(closedDoorsNumber == 2); }
public void ContestantCanSwitchDoorWhenDudPicked() { Monty game = new Monty(3, mockRandom); Door firstDoorToPick = game.Doors[1]; game.PickDoor(1); Assert.True(game.Doors[1].Picked == true); game.RevealDoors(); Door secondDoorToPick = game.Doors.Single(d => d.Picked == false && d.Revealed == false); game.SwitchDoor(); Assert.True(game.Doors.Where(d => d.Picked).Count() == 1); Assert.False(firstDoorToPick == secondDoorToPick); }
public void FullTest() { int doorNumber = 3; double prizes = 0; List <Room> rooms = new List <Room>(); for (int i = 0; i < 10000; i++) { rooms.Add(new Room(doorNumber)); } foreach (var room in rooms) { Monty.SetPrize(room); Player.ChooseDoor(room); Monty.MontyOpenDoors(room); if (Player.ChangeDecision(room)) { prizes++; } } Assert.IsTrue(prizes / 100 >= 65 && prizes / 100 <= 68); }
public static VLong ModExp(VLong x, VLong e, VLong m) { Monty me = new Monty(m); return(me.Exp(x, e)); }
public void MockDoorThatContainsCarIs0() { Monty game = new Monty(3, mockRandom); Assert.True(game.Doors[0].ContainsPrize == true); }