Example #1
0
        public IPassenger GetPassengerByType(EPassengerType type)
        {
            var passenger = _passengers.Find(x => x.GetPassengerType() == type);

            _passengers.Remove(passenger);
            return(passenger);
        }
Example #2
0
        public IPassenger MakePassenger(EPassengerType passengerType)
        {
            switch (passengerType)
            {
            case EPassengerType.CabinChief:
                return(new Passenger(EPassengerType.CabinChief, new Drive()));

            case EPassengerType.Pilot:
                return(new Passenger(EPassengerType.Pilot, new Drive()));

            case EPassengerType.PoliceOfficer:
                return(new Passenger(EPassengerType.PoliceOfficer, new Drive()));

            case EPassengerType.FlightOfficer:
                return(new Passenger(EPassengerType.FlightOfficer, new NotDrive()));

            case EPassengerType.Stewardess:
                return(new Passenger(EPassengerType.Stewardess, new NotDrive()));

            case EPassengerType.Prisoner:
                return(new Passenger(EPassengerType.Prisoner, new NotDrive()));

            default:
                throw new ArgumentOutOfRangeException(nameof(passengerType), passengerType, null);
            }
        }
Example #3
0
 public Passenger(EPassengerType passengerType, IDriveBehavior driveBehavior)
 {
     Id = Guid.NewGuid();
     _passegerTypeTranslator = new PassengerTypeTranslator();
     _passengerType          = passengerType;
     _driveBehavior          = driveBehavior;
 }
Example #4
0
        public void MoveToAirplaneToDepartureGate(EPassengerType driverType, EPassengerType passengerType)
        {
            var driver    = _airplane.GetBoardingAreaManager().GetPassengerByType(driverType);
            var passenger = _airplane.GetBoardingAreaManager().GetPassengerByType(passengerType);

            _smarthFortwo.SetDriver(driver);
            _smarthFortwo.SetPassenger(passenger);

            RulesPerform();
            AddErrors(_smarthFortwo.GetErrors());

            if (IsValid())
            {
                _smarthFortwo.GoToDepartureGate();
                RulesPerform();
                AddErrors(_smarthFortwo.GetErrors());
            }
        }
Example #5
0
        public string Translate(EPassengerType type)
        {
            switch (type)
            {
            case EPassengerType.CabinChief: return(SystemMessages.CabinChief);

            case EPassengerType.Pilot: return(SystemMessages.Pilot);

            case EPassengerType.FlightOfficer: return(SystemMessages.FlightOfficer);

            case EPassengerType.None: return(SystemMessages.None);

            case EPassengerType.Stewardess: return(SystemMessages.Stewardess);

            case EPassengerType.PoliceOfficer: return(SystemMessages.PoliceOfficer);

            case EPassengerType.Prisoner: return(SystemMessages.Prisoner);

            default: return(string.Empty);
            }
        }
Example #6
0
 public PassengerBuilder IsFlightOfficer()
 {
     _passengerType = EPassengerType.FlightOfficer;
     return(this);
 }
Example #7
0
 public PassengerBuilder IsPrisoner()
 {
     _passengerType = EPassengerType.Prisoner;
     return(this);
 }
Example #8
0
 public PassengerBuilder IsStewardess()
 {
     _passengerType = EPassengerType.Stewardess;
     return(this);
 }
Example #9
0
 public PassengerBuilder IsPilot()
 {
     _passengerType = EPassengerType.Pilot;
     return(this);
 }
Example #10
0
 public PassengerBuilder IsCop()
 {
     _passengerType = EPassengerType.PoliceOfficer;
     return(this);
 }
Example #11
0
 public PassengerBuilder IsCabinChief()
 {
     _passengerType = EPassengerType.CabinChief;
     return(this);
 }
Example #12
0
 public PassengerBuilder()
 {
     _driveBehavior = new Drive();
     _passengerType = EPassengerType.Pilot;
 }