public void testRequestToGoUpAreEnqueueWhenRequestedWhenCabinIsMoving() { ElevatorController elevatorController = new ElevatorController(); elevatorController.goUpPushedFromFloor(1); elevatorController.cabinDoorClosed(); elevatorController.cabinOnFloor(1); elevatorController.goUpPushedFromFloor(2); elevatorController.cabinDoorOpened(); Assert.IsTrue(elevatorController.isWorking()); Assert.IsTrue(elevatorController.isCabinWaitingForPeople()); Assert.IsTrue(elevatorController.isCabinDoorOpened()); }
public void testCabinHasToStopAndWaitForPeopleOnFloorsOnItsWayNoMatterHowTheyWellCalled() { ElevatorController elevatorController = new ElevatorController(); elevatorController.goUpPushedFromFloor(2); elevatorController.cabinDoorClosed(); elevatorController.goUpPushedFromFloor(1); elevatorController.cabinOnFloor(1); elevatorController.cabinDoorOpened(); elevatorController.waitForPeopleTimedOut(); Assert.IsTrue(elevatorController.isWorking()); Assert.IsTrue(elevatorController.isCabinStopped()); Assert.IsTrue(elevatorController.isCabinDoorClosing()); }
public void testCabinDoorStartClosingAfterWaitingForPeople() { ElevatorController elevatorController = new ElevatorController(); elevatorController.goUpPushedFromFloor(1); elevatorController.cabinDoorClosed(); elevatorController.cabinOnFloor(1); elevatorController.goUpPushedFromFloor(2); elevatorController.cabinDoorOpened(); elevatorController.waitForPeopleTimedOut(); Assert.IsTrue(elevatorController.isWorking()); Assert.IsTrue(elevatorController.isCabinStopped()); Assert.IsTrue(elevatorController.isCabinDoorClosing()); }
public void testElevatorCompletesAllTheRequests() { ElevatorController elevatorController = new ElevatorController(); elevatorController.goUpPushedFromFloor(1); elevatorController.cabinDoorClosed(); elevatorController.goUpPushedFromFloor(2); elevatorController.cabinOnFloor(1); elevatorController.cabinDoorOpened(); elevatorController.waitForPeopleTimedOut(); elevatorController.cabinDoorClosed(); elevatorController.cabinOnFloor(2); Assert.IsTrue(elevatorController.isWorking()); Assert.IsTrue(elevatorController.isCabinStopped()); Assert.IsTrue(elevatorController.isCabinDoorOpening()); }
public void testStopsWaitingForPeopleIfCloseDoorIsPressed() { ElevatorController elevatorController = new ElevatorController(); elevatorController.goUpPushedFromFloor(1); elevatorController.cabinDoorClosed(); elevatorController.cabinOnFloor(1); elevatorController.goUpPushedFromFloor(2); elevatorController.cabinDoorOpened(); Assert.IsTrue(elevatorController.isWorking()); Assert.IsTrue(elevatorController.isCabinWaitingForPeople()); Assert.IsTrue(elevatorController.isCabinDoorOpened()); elevatorController.closeCabinDoor(); Assert.IsTrue(elevatorController.isWorking()); Assert.IsTrue(elevatorController.isCabinStopped()); Assert.IsTrue(elevatorController.isCabinDoorClosing()); }
public void testElevatorGetsIdleWhenDoorGetOpened() { ElevatorController elevatorController = new ElevatorController(); elevatorController.goUpPushedFromFloor(1); elevatorController.cabinDoorClosed(); elevatorController.cabinOnFloor(1); elevatorController.cabinDoorOpened(); Assert.IsTrue(elevatorController.isIdle()); Assert.IsFalse(elevatorController.isWorking()); Assert.IsTrue(elevatorController.isCabinStopped()); Assert.IsFalse(elevatorController.isCabinMoving()); Assert.IsTrue(elevatorController.isCabinDoorOpened()); Assert.IsFalse(elevatorController.isCabinDoorOpening()); Assert.IsFalse(elevatorController.isCabinDoorClosing()); Assert.IsFalse(elevatorController.isCabinDoorClosed()); Assert.AreEqual(1, elevatorController.cabinFloorNumber()); }