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);
        }
        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);
        }
Esempio n. 3
0
        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 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);
        }