public void EmergencyException() { HALProvider halProvider = new HALProvider(); IElevatorCageIO elevator = halProvider.ElevatorCageIO; elevator.Initialize(); Assert.Throws <EmergencyException>(() => elevator.MoveUp()); }
public void ValidateInitializedState() { HALProvider halProvider = new HALProvider(); halProvider.ElevatorCageIO.Initialize(); halProvider.GroundFloorIO.FloorDoor.Initialize(); halProvider.FirstFloorIO.FloorDoor.Initialize(); halProvider.SecondFloorIO.FloorDoor.Initialize(); Assert.That(halProvider.ElevatorCageIO.EngineStatus == Interfaces.EngineStatusEnum.Idle); Assert.That(halProvider.ElevatorCageIO.AtFloor == 0); }
public void MoveUpHappyFlow() { HALProvider halProvider = new HALProvider(); IElevatorCageIO elevator = halProvider.ElevatorCageIO; elevator.PropertyChanged += ElevatorCageIO_PropertyChangedActOnMovingUp; elevator.Initialize(); elevator.MoveUp(); Assert.That(elevator.AtFloor == 1); elevator.MoveUp(); Assert.That(elevator.AtFloor == 2); }
public void MoveUpAndDownHappyFlow() { HALProvider halProvider = new HALProvider(); IElevatorCageIO elevator = halProvider.ElevatorCageIO; elevator.Initialize(); elevator.PropertyChanged += Elevator_PropertyChangedHandleTwoFloorUp; elevator.MoveUp(); Assert.That(elevator.AtFloor == 2); elevator.PropertyChanged -= Elevator_PropertyChangedHandleTwoFloorUp; elevator.PropertyChanged += Elevator_PropertyChangedHandleTwoFloorDown; elevator.MoveDown(); Assert.That(elevator.AtFloor == 0); elevator.PropertyChanged -= Elevator_PropertyChangedHandleTwoFloorDown; }
/// <summary> /// Initializes a new instance of the <see cref="StateContext"/> class. /// </summary> /// <param name="hal">The hal.</param> public StateContext(HALProvider hal) { HAL = hal; }