コード例 #1
0
        public void WhenLiftPlacesMultipleRequests_EnsureRequestIsQueued()
        {
            var building = new Building(4, 1);
            building.Lifts[0].FloorButtonList.First(btn => btn.Number == 1).Execute();
            building.Lifts[0].FloorButtonList.First(btn => btn.Number == 2).Execute();
            building.Lifts[0].FloorButtonList.First(btn => btn.Number == 3).Execute();
            building.Lifts[0].FloorButtonList.First(btn => btn.Number == 4).Execute();

            Assert.IsTrue(building.Lifts[0].Controller.LiftRequestQueue.Any(), "Test case failed. Requests not queued");
        }
コード例 #2
0
        public void WhenFloorRequestsLift_AndLiftsAreUnavailable_EnsureRequestIsQueued()
        {
            var building = new Building(4,1);
            building.Floors[0].RequestLift();
            building.Floors[1].RequestLift();
            building.Floors[2].RequestLift();
            building.Floors[3].RequestLift();

            Assert.IsTrue(FloorRequestManager.FloorRequestQueue.Any(), "Test case failed. Requests not queued" );
        }
コード例 #3
0
ファイル: Floor.cs プロジェクト: nairtejas/liftimplementation
 public Floor(int floorNumber, Building building)
 {
     Number = floorNumber;
     _building = building;
     _floorButton = new FloorButton() {Number = Number};
 }
コード例 #4
0
 public void WhenRequestedFloorIsInvalid_ThrowInvalidFloorException()
 {
     var building = new Building(4, 1);
     building.GetAvailableLifts(100);
 }