public void PlayerShouldBeAbleToSwitchSelectedDoor() { var montyHall = new MontyHall(); montyHall.PlayGame(true); //assert if switched }
public void PlayerShouldSelectRandomDoor() { var montyHall = new MontyHall(); montyHall.PlayGame(true); Assert.True(montyHall.Doors.Any(x => x.IsSelected)); }
public void StartingNewGameShouldPlaceAPrizeBehindRandomDoor() { var montyHall = new MontyHall(); montyHall.PlayGame(true); Assert.True(montyHall.Doors.Any(x => x.IsPrize)); }
public void GameShouldSetUpDoorsWithNoPrize() { var montyHall = new MontyHall(); Assert.False(montyHall.Doors[0].IsPrize); Assert.False(montyHall.Doors[1].IsPrize); Assert.False(montyHall.Doors[2].IsPrize); }
public void HostShouldDisplayRemainingDoorNotContainingPrize() { var montyHall = new MontyHall(); var host = new Host(); var displayedDoor = host.DisplayRemainingDoorContainingNoPrize(montyHall.Doors); Assert.False(displayedDoor.IsPrize && displayedDoor.IsSelected); }
public void PlayGameShouldReturnTrueIfChosenDoorIsPrize() { var montyHall = new MontyHall(); var car = new TestRng(2); var choice = new TestRng(0); var player = new Player(choice, 1); Assert.Equal(Prize.Car, montyHall.PlayGame(car, player)); }
public void CreateThreeDoorsAssignsPrizeToRandomDoor() { var montyHall = new MontyHall(); var doorNumber = new TestRng(1); montyHall.SetUpThreeDoors(doorNumber); Assert.Equal(false, montyHall.Doors[0].Prize == Prize.Car); Assert.Equal(true, montyHall.Doors[1].Prize == Prize.Car); Assert.Equal(false, montyHall.Doors[2].Prize == Prize.Car); }
public void SimulatorShouldDetermineIfPlayerSwitches(bool expected, int switchingChance) { var prize = new TestRng(2); var choice = new TestRng(0); var simulator = new Simulator(); simulator.PlayAllGames(prize, choice, switchingChance); var montyHall = new MontyHall(); var player = new Player(choice, switchingChance); montyHall.PlayGame(prize, player); Assert.Equal(expected, montyHall.Doors[0].IsChosen); }
public void PlayerShouldBeAbleToChooseARandomDoor() { var montyHall = new MontyHall(); var doorNumber = new TestRng(1); montyHall.SetUpThreeDoors(doorNumber); var choice = new TestRng(2); var player = new Player(choice, 0); player.ChooseRandomDoor(choice, montyHall.Doors); Assert.Equal(false, montyHall.Doors[0].IsChosen); Assert.Equal(false, montyHall.Doors[1].IsChosen); Assert.Equal(true, montyHall.Doors[2].IsChosen); }
public void HostShouldOpenAnUnSelectedDoorThatIsGoat() { var montyHall = new MontyHall(); var host = new Host(); var doorNumber = new TestRng(1); montyHall.SetUpThreeDoors(doorNumber); var choice = new TestRng(2); var player = new Player(choice, 0); player.ChooseRandomDoor(choice, montyHall.Doors); host.OpenUnselectedDoorThatIsGoat(montyHall.Doors); Assert.Equal(true, montyHall.Doors[0].IsOpened); Assert.Equal(false, montyHall.Doors[1].IsOpened); Assert.Equal(false, montyHall.Doors[2].IsOpened); }
private void PlayGameAndGetScore(IRng doorToPlaceCar, IRng doorToChoose, double switchingChance) { for (var _ = 0; _ < NumberOfGames; _++) { var montyHall = new MontyHall(); var player = new Player(doorToChoose, switchingChance); var prize = montyHall.PlayGame(doorToPlaceCar, player); if (prize == Prize.Car) { Wins++; } else { Losses++; } } }
public void PlayerShouldBeAbleToASwitchDoors() { var montyHall = new MontyHall(); var host = new Host(); var doorNumber = new TestRng(1); montyHall.SetUpThreeDoors(doorNumber); var choice = new TestRng(2); var player = new Player(choice, 1); player.ChooseRandomDoor(choice, montyHall.Doors); host.OpenUnselectedDoorThatIsGoat(montyHall.Doors); player.SwitchDoor(montyHall.Doors); Assert.Equal(false, montyHall.Doors[0].IsChosen); Assert.Equal(true, montyHall.Doors[1].IsChosen); Assert.Equal(false, montyHall.Doors[2].IsChosen); }