public void Given_a_new_floor_all_doors_are_closed() { Floor floor = new Floor(); Door[] doors = floor.GetDoors(); Assert.That(doors.All(door => door.IsClosed)); }
public void Given_4_closed_doors_when_second_monkey_runs_through_floor_then_monkey_opens_only_every_second_door() { Floor floor = new Floor(4); Monkey monkey = new Monkey(2); monkey.RunThrough(floor); Door[] doors = floor.GetDoors(); Assert.That(doors.Where((door, index) => (index + 1) % 2 == 0).All(door => door.IsOpen)); Assert.That(doors.Where((door, index) => (index + 1) % 2 != 0).All(door => door.IsClosed)); }
public void Given_doors_are_closed_when_first_monkey_runs_through_floor_then_all_doors_are_open() { Floor floor = new Floor(); Monkey monkey = new Monkey(1); monkey.RunThrough(floor); Door[] doors = floor.GetDoors(); Assert.That(doors.All(door => door.IsOpen)); }
public void Given_6_closed_doors_when_third_monkey_runs_through_floor_then_monkey_opens_only_every_third_door() { Floor floor = new Floor(6); Monkey monkey = new Monkey(3); monkey.RunThrough(floor); Assert.That(floor.GetDoor(3).IsOpen); Assert.That(floor.GetDoor(6).IsOpen); Assert.That(floor.GetDoors().Where((door, index) => (index + 1) % 3 != 0).All(door => door.IsClosed)); }
public void Given_4_closed_doors_when_second_monkey_runs_through_floor_then_monkey_opens_only_every_second_door() { Floor floor = new Floor(4); Monkey monkey = new Monkey(2); monkey.RunThrough(floor); Door[] doors = floor.GetDoors(); Assert.That(doors.Where((door, index) => (index + 1) % 2 == 0).All(door => door.IsOpen)); Assert.That(doors.Where((door, index) => (index + 1) % 2 != 0).All(door => door.IsClosed)); }
public void Given_6_closed_doors_when_third_monkey_runs_through_floor_then_monkey_opens_only_every_third_door() { Floor floor = new Floor(6); Monkey monkey = new Monkey(3); monkey.RunThrough(floor); Assert.That(floor.GetDoor(3).IsOpen); Assert.That(floor.GetDoor(6).IsOpen); Assert.That(floor.GetDoors().Where((door, index) => (index + 1) % 3 != 0).All(door => door.IsClosed)); }
public void RunThrough(Floor floor) { int doorNumber = 0; foreach (Door door in floor.GetDoors()) { if (++doorNumber % _number == 0) { door.IsOpen = door.IsClosed; } } }
public void Given_doors_are_closed_when_first_monkey_runs_through_floor_then_all_doors_are_open() { Floor floor = new Floor(); Monkey monkey = new Monkey(1); monkey.RunThrough(floor); Door[] doors = floor.GetDoors(); Assert.That(doors.All(door => door.IsOpen)); }
public void Given_a_new_floor_all_doors_are_closed() { Floor floor = new Floor(); Door[] doors = floor.GetDoors(); Assert.That(doors.All(door => door.IsClosed)); }
public void RunThrough(Floor floor) { int doorNumber = 0; foreach (Door door in floor.GetDoors()) { if (++doorNumber % _number == 0) door.IsOpen = door.IsClosed; } }