Beispiel #1
0
        public void LiftHasCurrentLocationOfGroundWhenInitialized()
        {
            Lift lift = LiftFactory.CreateLift();

            Assert.Equal(0, lift.CurrentFloor);
            Assert.Equal(LiftStatus.Awaiting, lift.CurrentStatus);
        }
Beispiel #2
0
        public void LiftGeneratesEventWithArgumentsWhenUserPressesFloor()
        {
            Lift lift = LiftFactory.CreateLift();

            var arg = Assert.Raises <UserButtonPressEventArgs>(handler => lift.UserButtonPressed += handler,
                                                               handler => lift.UserButtonPressed -= handler,
                                                               () => lift.UserSelectsDestination(10));

            Assert.Equal(10, arg.Arguments.DestinationFloor);
        }
Beispiel #3
0
        public void LiftCanAcceptRequestIfWaitingForOrderAndChangesStatusToResponding()
        {
            Lift lift = LiftFactory.CreateLift();

            LiftCall lr = new LiftCall(LiftDirection.Down, 12);

            bool accepted = lift.Request(lr);

            Assert.True(accepted);
            Assert.Equal(LiftStatus.Responding, lift.CurrentStatus);
        }
Beispiel #4
0
        public void LiftIndicatesMovingUpTowardsFloorCall()
        {
            Lift lift = LiftFactory.CreateLift();

            LiftCall lr = new LiftCall(LiftDirection.Down, 12);

            bool accepted = lift.Request(lr);

            Assert.True(accepted);
            Assert.Equal(LiftStatus.Responding, lift.CurrentStatus);
            Assert.Equal(LiftDirection.Up, lift.CurrentDirection);
        }
Beispiel #5
0
        public void LiftRejectsRequestIfRespondingOrDelivering()
        {
            Lift lift = LiftFactory.CreateLift();

            lift.CurrentStatus = LiftStatus.Responding;

            LiftCall lr = new LiftCall(LiftDirection.Down, 12);

            bool accepted = lift.Request(lr);

            Assert.False(accepted);
            Assert.NotEqual(LiftStatus.Awaiting, lift.CurrentStatus);
        }
Beispiel #6
0
        public void LiftCanReceiveRequest()
        {
            Lift lift = null;

            LiftCall lr = new LiftCall(LiftDirection.Down, 12);

            lift = LiftFactory.CreateLift();
            lift.Request(lr);

            LiftCall r = lift.CurrentRequest;

            Assert.NotNull(r);
            Assert.Equal(LiftDirection.Down, r.Direction);
            Assert.Equal(12, r.Floor);
        }
Beispiel #7
0
        public void LiftCreatedWithNumberOfFloors()
        {
            Lift lift = LiftFactory.CreateLift(15);

            Assert.Equal(15, lift.TopFloor);
        }