private void TheFirstTimeYouVisitEveryDoorAndToggleTheDoor() { HundredDoors hundredDoors = new HundredDoors(); doors = hundredDoors.Toggle(doors, 1); for (int i = 0; i < Constant.numberOfDoors; i++) { Assert.Equal(DoorState.IsOpened, doors[i]); } }
private void TheSecondTimeYouOnlyVisitEvery2ndDoor() { HundredDoors hundredDoors = new HundredDoors(); doors = hundredDoors.Toggle(doors, 2); for (int i = 0; i < doors.Count(); i++) { if ((i + 1) % 2 == 0) { Assert.Equal(DoorState.IsClosed, doors[i]); } } }
private void TheThirdTimeEvery3rdDoor() { HundredDoors hundredDoors = new HundredDoors(); doors = hundredDoors.Toggle(doors, 3); var openDoors = from door in doors where door == DoorState.IsOpened select door; var closeDoors = from door in doors where door == DoorState.IsClosed select door; Assert.Equal(49, openDoors.Count()); Assert.Equal(51, closeDoors.Count()); }