コード例 #1
0
        private void CheckIfPrisonerIsAloneWithPassengers(IBoardingArea boardingArea)
        {
            var prisonerIsAlone = boardingArea.GetBoardingAreaManager().PrisonerIsPresent() &&
                                  !boardingArea.GetBoardingAreaManager().CoopIsPresent() &&
                                  boardingArea.GetBoardingAreaManager().CountPassengers() > 1;

            if (prisonerIsAlone)
            {
                AddError(ErrorMessages.PrisonerNotAloneWithPassengers);
            }
        }
コード例 #2
0
        private void CheckIfFlightOfficerIsNotAloneWithCabinChief(IBoardingArea boardingArea)
        {
            var thereAreNotFlightOfficers = boardingArea.GetBoardingAreaManager().CountFlightOfficers() == 0;
            var thereAreMoreThanTwoPeople = boardingArea.GetBoardingAreaManager().CountPassengers() > 2;

            var FlightOfficersNotAlone = thereAreMoreThanTwoPeople || thereAreNotFlightOfficers ||
                                         !boardingArea.GetBoardingAreaManager().CabinChiefIsPresent();

            if (!FlightOfficersNotAlone)
            {
                AddError(ErrorMessages.FlightOfficersNotAloneWithCabinChief);
            }
        }
コード例 #3
0
        private void CheckIfStewardessIsNotAloneWithPilot(IBoardingArea boardingArea)
        {
            var thereAreNotStewardess     = boardingArea.GetBoardingAreaManager().CountStewardesses() == 0;
            var thereAreMoreThanTwoPeople = boardingArea.GetBoardingAreaManager().CountPassengers() > 2;

            var stewardessIsAlone = thereAreMoreThanTwoPeople || thereAreNotStewardess ||
                                    !boardingArea.GetBoardingAreaManager().PilotIsPresent();

            if (!stewardessIsAlone)
            {
                AddError(ErrorMessages.StewardessesNotAloneWithPilot);
            }
        }
コード例 #4
0
        public void GoToDepartureGate()
        {
            if (DriverIsNotPresent())
            {
                return;
            }

            _departurGate.GetBoardingAreaManager().AddPassengers(_boardingAreaManager.GetPassengers().ToList());
            _boardingAreaManager.RemoveAllPassengers();
        }
コード例 #5
0
        public void GoToAirplane()
        {
            if (DriverIsNotPresent())
            {
                return;
            }

            if (_boardingAreaManager.CountPassengers() != 2)
            {
                return;
            }

            _airplane.GetBoardingAreaManager().AddPassengers(_boardingAreaManager.GetPassengers().ToList());
            _boardingAreaManager.RemoveAllPassengers();
        }
コード例 #6
0
 public List <IPassenger> GetAirplanePassengers() =>
 _airplane.GetBoardingAreaManager().GetPassengers().ToList();
コード例 #7
0
 public List <IPassenger> GetDeparturePassengers() =>
 _departureGate.GetBoardingAreaManager().GetPassengers().ToList();