/// <summary> /// Get passenger class instance based on passenger type /// </summary> /// <param name="passengerSelection"></param> /// <param name="passengerData"></param> /// <returns></returns> public object GetPassengerClassBasedOnPassengerType(EPassengerSelection passengerSelection, string passengerData) { string currentAssemblyName = this.GetType().Assembly.GetName().Name.ToString(); object passengerInstance = GetInstance(currentAssemblyName + Constants.MODELWORD + passengerSelection.ToString(), passengerData); return(passengerInstance); }
public void TestToCheckIfCorrectPassengerClassIsInvokedForGeneralPassenger(EPassengerSelection passengerSelection, string passengerData) { var sut = new FlightBookingViewModel(); object passengerInstance = sut.GetPassengerClassBasedOnPassengerType(passengerSelection, passengerData); Assert.IsInstanceOf <GeneralPassenger>(passengerInstance); }
/// <summary> /// Check if the passenger data is in valid format and add passenger to the system /// </summary> /// <param name="passengerSelection"></param> /// <param name="passengerData"></param> public void AddPassenger(EPassengerSelection passengerSelection, string passengerData) { switch (passengerSelection) { case EPassengerSelection.AirlineEmployeePassenger: case EPassengerSelection.DiscountedPassenger: case EPassengerSelection.GeneralPassenger: case EPassengerSelection.LoyaltyMemberPassenger: CreatePassenger(passengerSelection, passengerData); break; case EPassengerSelection.PrintSummary: PrintFlightSummary(); break; case EPassengerSelection.Exit: Environment.Exit(1); break; } }
/// <summary> /// /// </summary> /// <param name="passengerSelection"></param> /// <param name="passengerData"></param> private void CreatePassenger(EPassengerSelection passengerSelection, string passengerData) { object passengerInstance = GetPassengerClassBasedOnPassengerType(passengerSelection, passengerData); AddPassengerBasedOnSelection(passengerInstance); }