public void DispatchCreatesAndSendsRequestToDefaultLift() { LiftCall lr = new LiftCall(LiftDirection.Down, 12); Lift lift = sut.FindAvailableLiftForCall(lr); Assert.Equal(1, lift.ID); }
internal Lift FindAvailableLiftForCall(LiftCall lr) { foreach (var lift in Lifts) { if (lift.Request(lr)) { return(lift); } } return(null); }
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); }