Exemplo n.º 1
0
        public void EmergencyException()
        {
            HALProvider     halProvider = new HALProvider();
            IElevatorCageIO elevator    = halProvider.ElevatorCageIO;

            elevator.Initialize();

            Assert.Throws <EmergencyException>(() => elevator.MoveUp());
        }
Exemplo n.º 2
0
        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);
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        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;
        }
Exemplo n.º 5
0
 /// <summary>
 /// Initializes a new instance of the <see cref="StateContext"/> class.
 /// </summary>
 /// <param name="hal">The hal.</param>
 public StateContext(HALProvider hal)
 {
     HAL = hal;
 }