public void LiftHasCurrentLocationOfGroundWhenInitialized() { Lift lift = LiftFactory.CreateLift(); Assert.Equal(0, lift.CurrentFloor); Assert.Equal(LiftStatus.Awaiting, lift.CurrentStatus); }
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); }
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); }
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); }
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); }
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); }
public void LiftCreatedWithNumberOfFloors() { Lift lift = LiftFactory.CreateLift(15); Assert.Equal(15, lift.TopFloor); }