public void UserRequestsFloorThatDoesNotExist()
        {
            //Arrange
            int mMaxFloor       = 3;
            int mRequestedFloor = 10;

            //Act
            ElevatorOS_Impl tempElevatorOsImpl = new ElevatorOS_Impl(new ElevatorModule_Impl(mMaxFloor));

            tempElevatorOsImpl.ReqElevatorAtOrToFloor(mRequestedFloor);
            tempElevatorOsImpl.Update();
        }
        public void AddsCommandToTheBlockingChainAndIsEqualToFloorRequested()
        {
            //Arrange
            int mExpectedFloor  = 3;
            int mRequestedFloor = 3;

            //Act
            ElevatorOS_Impl tempElevatorOsImpl = new ElevatorOS_Impl(new ElevatorModule_Impl(5));

            tempElevatorOsImpl.ReqElevatorAtOrToFloor(mRequestedFloor);

            //Assert
            Assert.IsNotNull(tempElevatorOsImpl._mFloorReq.Count);
            Assert.AreEqual(mExpectedFloor, tempElevatorOsImpl._mFloorReq.Take());
        }
        public void ElevatorReturnsTheFloorThePreviousUserRequestedAndArrivedTo()
        {
            //Arrange
            int mExpectedFloor  = 4;
            int mRequestedFloor = 4;
            int mMaxFloor       = 10;

            //Act
            ElevatorOS_Impl tempElevatorOsImpl = new ElevatorOS_Impl(new ElevatorModule_Impl(mMaxFloor));

            tempElevatorOsImpl.ReqElevatorAtOrToFloor(mRequestedFloor);
            tempElevatorOsImpl.Update();

            //Assert
            Assert.AreEqual(mExpectedFloor, tempElevatorOsImpl._mElevatorModuleImpl.GetCurrentFloor());
        }