public void Get_WhenCorrectData_ShouldGetProperly() { // Arrange var person = new Person { Id = 1, Name = "Test", DateBirth = DateTime.Now.Date, Gender = GenderType.Male, Address = "TestAddress", Email = "*****@*****.**" }; Mapper.Reset(); Mapper.Initialize(cfg => cfg.CreateMap <Person, PassengerDto>()); var passenger = Mapper.Map <Person, PassengerDto>(person); var mockPersonRepository = new Mock <IRepository <Person> >(); var mockBookingRepository = new Mock <IRepository <Booking> >(); var mockFlightRepository = new Mock <IRepository <Flight> >(); mockPersonRepository.Setup(x => x.Get(It.Is <int>(m => m == person.Id))).Returns(person); var passengerService = new PassengerService(Mapper.Instance, mockPersonRepository.Object, mockBookingRepository.Object, mockFlightRepository.Object); // Act var expectedPassenger = passengerService.GetPassengerById(person.Id); // Assert Assert.AreEqual(expectedPassenger.Id, passenger.Id); Assert.AreEqual(expectedPassenger.Name, passenger.Name); Assert.AreEqual(expectedPassenger.Address, passenger.Address); Assert.AreEqual(expectedPassenger.DateBirth, passenger.DateBirth); Assert.AreEqual(expectedPassenger.Email, passenger.Email); Assert.AreEqual(expectedPassenger.Gender, passenger.Gender); }
public PassengersWindow(PassengerService passengerService, LoginService loginService) { this.passengerService = passengerService; this.loginService = loginService; InitializeComponent(); RefreshList(); }
public void When_Relaxed_Rule_Is_Used_Should_Proceed_With_Flight() { var passengerService = new PassengerService(); var aircraftService = new AircraftService(); aircraftService.AddPlanes(TestData.SmallAntonovPlane); var calculationService = new CalculationService(); calculationService.AddRules(new ProfitRule(), new RelaxedRule()); var flightService = new FlightService(TestData.LondonToParis); var scheduledFlight = new ScheduledFlight( flightService, passengerService, aircraftService, calculationService, new SummaryFormat(passengerService, aircraftService)); scheduledFlight.SetAircraftForRoute(122); scheduledFlight.SetCurrentRule <RelaxedRule>(); scheduledFlight.AddPassenger(TestData.JackLoyaltyPassenger); scheduledFlight.AddPassenger(TestData.TrevorAirlineEmployeePassenger); scheduledFlight.AddPassenger(TestData.SunnyAirlineEmployeePassenger); scheduledFlight.AddPassenger(TestData.SunnyAirlineEmployeePassenger); scheduledFlight.AddPassenger(TestData.MartinAirlineEmployeePassenger); scheduledFlight.AddPassenger(TestData.MartinAirlineEmployeePassenger); scheduledFlight.AddPassenger(TestData.MikeDiscountedPassenger); scheduledFlight.Process(); Assert.True(flightService.CanFlightProceed); Assert.Equal(-200, flightService.ProfitSurplus); }
public void Setup() { _personRepository = new PersonAsyncRepository(); var loggerMock = new Mock <ILogger <PassengerDTO> >(); var passengerService = new PassengerService(_personRepository); _controller = new PassengersController(loggerMock.Object, passengerService); }
public async Task GivenQuoteofOneVechicleExceedPassengerShouldReturn0() { _proxy.GetQuote().Returns(Task.FromResult(GetSingleQoute())); var passengerService = new PassengerService(_proxy); var result = await passengerService.GetQuote(4); result.Count().Should().Be(0); }
public async Task GivenQuoteofOneVechicleShouldReturnValueBasedOnLowerPrice() { _proxy.GetQuote().Returns(Task.FromResult(GetSingleQoute())); var passengerService = new PassengerService(_proxy); var result = await passengerService.GetQuote(2); result.Count().Should().Be(1); result.First().TotalPrice.Should().Be(4); }
public async Task GivenQuoteofOneVechicleExceedPassengerShouldReturnInProperOrder() { _proxy.GetQuote().Returns(Task.FromResult(GetTwoQoute())); var passengerService = new PassengerService(_proxy); var result = await passengerService.GetQuote(2); result.Count().Should().Be(2); result.First().Name.Should().Be("L2"); result.First().TotalPrice.Should().Be(3); result.Last().Name.Should().Be("L1"); result.Last().TotalPrice.Should().Be(4); }
public void Should_Return_Same_Data_When_Calling_Process_Twice() { var passengerService = new PassengerService(); var aircraftService = new AircraftService(); aircraftService.AddPlanes(TestData.AntonovPlane); var calculationService = new CalculationService(); calculationService.AddRules(new ProfitRule(), new RelaxedRule()); var flightService = new FlightService(TestData.LondonToParis); var scheduledFlight = new ScheduledFlight( flightService, passengerService, aircraftService, calculationService, new SummaryFormat(passengerService, aircraftService)); scheduledFlight.SetAircraftForRoute(123); scheduledFlight.SetCurrentRule <ProfitRule>(); scheduledFlight.AddPassenger(TestData.SteveGeneralPassenger); scheduledFlight.AddPassenger(TestData.MarkGeneralPassenger); scheduledFlight.AddPassenger(TestData.JamesGeneralPassenger); scheduledFlight.AddPassenger(TestData.JaneGeneralPassenger); scheduledFlight.AddPassenger(TestData.AlanGeneralPassenger); scheduledFlight.AddPassenger(TestData.SuzyGeneralPassenger); scheduledFlight.AddPassenger(TestData.AnthonyGeneralPassenger); scheduledFlight.AddPassenger(TestData.MikeGeneralPassenger); scheduledFlight.AddPassenger(TestData.JohnLoyaltyPassenger); scheduledFlight.AddPassenger(TestData.SarahLoyaltyPassenger); scheduledFlight.AddPassenger(TestData.JackLoyaltyPassenger); scheduledFlight.AddPassenger(TestData.TrevorAirlineEmployeePassenger); scheduledFlight.AddPassenger(TestData.MikeDiscountedPassenger); scheduledFlight.Process(); scheduledFlight.Process(); Assert.Equal(13, passengerService.GetCountForPassengerType <Passenger>()); Assert.Equal(8, passengerService.GetCountForPassengerType <GeneralPassenger>()); Assert.Equal(3, passengerService.GetCountForPassengerType <LoyaltyPassenger>()); Assert.Equal(1, passengerService.GetCountForPassengerType <DiscountedPassenger>()); Assert.Equal(1, passengerService.GetCountForPassengerType <AirlineEmployeePassenger>()); Assert.Equal(15, flightService.TotalExpectedBaggage); Assert.Equal(1050, flightService.ProfitFromFlight); Assert.Equal(650, flightService.CostOfFlight); Assert.Equal(10, flightService.TotalLoyaltyPointsAccrued); Assert.Equal(100, flightService.TotalLoyaltyPointsRedeemed); Assert.Equal(400, flightService.ProfitSurplus); }
public PassengerViewModel() { try { Passenger = new PassengerDTO(); _passengerService = new PassengerService(); _countryList = new List <CountryDTO>(); _lookService = new LookupsService(); _countryList = _lookService.GetCountry(); } catch (Exception ex) { throw (ex); } }
public void GetAll_WhenGenderIsSet_ShouldReturnPassengersByGender() { // Arrange var getPassengersRequest = new GetPassengersRequest { Gender = Gender.Male }; var passengersByGender = new List <Person> { new Person { Id = 1, Name = "Test1", DateBirth = DateTime.Now.Date, Gender = GenderType.Male, Address = "TestAddress", Email = "*****@*****.**" }, new Person { Id = 2, Name = "Test2", DateBirth = DateTime.Now.Date, Gender = GenderType.Female, Address = "TestAddress", Email = "*****@*****.**" }, new Person { Id = 3, Name = "Test3", DateBirth = DateTime.Now.Date, Gender = GenderType.Male, Address = "TestAddress", Email = "*****@*****.**" } }; Mapper.Reset(); Mapper.Initialize(cfg => cfg.CreateMap <Person, PassengerDto>()); var malePassengers = Mapper.Map <List <Person>, List <PassengerDto> >(passengersByGender.Where(pas => pas.Gender == GenderType.Male).ToList()); var mockPersonRepository = new Mock <IRepository <Person> >(); var mockBookingRepository = new Mock <IRepository <Booking> >(); var mockFlightRepository = new Mock <IRepository <Flight> >(); mockPersonRepository.Setup(x => x.GetAll()).Returns(passengersByGender); var passengerService = new PassengerService(Mapper.Instance, mockPersonRepository.Object, mockBookingRepository.Object, mockFlightRepository.Object); // Act var passengers = passengerService.GetPassengers(getPassengersRequest); // Assert Assert.AreEqual(malePassengers.Count, passengers.Count); Assert.AreEqual(malePassengers.Select(pas => pas.Id).ToList(), passengers.Select(pas => pas.Id).ToList()); }
public void GetAll_WhenNoPassengers_ShouldThrowAppropriateException() { // Arrange var getPassengersRequest = new GetPassengersRequest(); Mapper.Reset(); Mapper.Initialize(cfg => cfg.CreateMap <Person, PassengerDto>()); var mockPersonRepository = new Mock <IRepository <Person> >(); var mockBookingRepository = new Mock <IRepository <Booking> >(); var mockFlightRepository = new Mock <IRepository <Flight> >(); mockPersonRepository.Setup(x => x.GetAll()).Returns((IEnumerable <Person>)null); var passengerService = new PassengerService(Mapper.Instance, mockPersonRepository.Object, mockBookingRepository.Object, mockFlightRepository.Object); // Act & Assert var exception = Assert.Throws <WingsOnNotFoundException>(() => passengerService.GetPassengers(getPassengersRequest)); Assert.AreEqual(exception.Message, "Passengers are not found."); }
public ActionResult DisplayPassenger(int?ID) { if (Session[UtilContants.USER_LOGIN] == null) { return(RedirectToAction("Index", "Home")); } else { if (ID == null || ID.ToString().Length == 0) { return(RedirectToAction("Error", "Home", new { message = "Trang không tồn tại" })); } else { ViewBag.isActive = UtilContants.PLACE_NAV; IPassengerService _passengerService = new PassengerService(); return(View(_passengerService.getAllPassengerByBookingID(ID.GetValueOrDefault()))); } } }
public void Get_WhenIncorrectData_ShouldThrowAppropriateException() { // Arrange var person = new Person { Id = 1, Name = "Test", DateBirth = DateTime.Now.Date, Gender = GenderType.Male, Address = "TestAddress", Email = "*****@*****.**" }; Mapper.Reset(); Mapper.Initialize(cfg => cfg.CreateMap <Person, PassengerDto>()); var mockPersonRepository = new Mock <IRepository <Person> >(); var mockBookingRepository = new Mock <IRepository <Booking> >(); var mockFlightRepository = new Mock <IRepository <Flight> >(); mockPersonRepository.Setup(x => x.Get(It.Is <int>(m => m == person.Id))).Returns((Person)null); var passengerService = new PassengerService(Mapper.Instance, mockPersonRepository.Object, mockBookingRepository.Object, mockFlightRepository.Object); // Act & Assert var exception = Assert.Throws <WingsOnNotFoundException>(() => passengerService.GetPassengerById(person.Id)); Assert.AreEqual(exception.Message, "Passenger with specified ID is not found."); }
public void Ensure_That_Original_Use_Case_Works() { var passengerService = new PassengerService(); var aircraftService = new AircraftService(); aircraftService.AddPlanes(TestData.AntonovPlane); var calculationService = new CalculationService(); calculationService.AddRules(new ProfitRule(), new RelaxedRule()); var flightService = new FlightService(TestData.LondonToParis); var scheduledFlight = new ScheduledFlight( flightService, passengerService, aircraftService, calculationService, new SummaryFormat(passengerService, aircraftService)); scheduledFlight.SetAircraftForRoute(123); scheduledFlight.SetCurrentRule <ProfitRule>(); scheduledFlight.AddPassenger(TestData.SteveGeneralPassenger); scheduledFlight.AddPassenger(TestData.MarkGeneralPassenger); scheduledFlight.AddPassenger(TestData.JamesGeneralPassenger); scheduledFlight.AddPassenger(TestData.JaneGeneralPassenger); scheduledFlight.AddPassenger(TestData.AlanGeneralPassenger); scheduledFlight.AddPassenger(TestData.SuzyGeneralPassenger); scheduledFlight.AddPassenger(TestData.JohnLoyaltyPassenger); scheduledFlight.AddPassenger(TestData.SarahLoyaltyPassenger); scheduledFlight.AddPassenger(TestData.JackLoyaltyPassenger); scheduledFlight.AddPassenger(TestData.TrevorAirlineEmployeePassenger); scheduledFlight.Process(); Assert.Equal(10, passengerService.GetCountForPassengerType <Passenger>()); Assert.Equal(6, passengerService.GetCountForPassengerType <GeneralPassenger>()); Assert.Equal(3, passengerService.GetCountForPassengerType <LoyaltyPassenger>()); Assert.Equal(1, passengerService.GetCountForPassengerType <AirlineEmployeePassenger>()); Assert.Equal(13, flightService.TotalExpectedBaggage); Assert.Equal(800, flightService.ProfitFromFlight); Assert.Equal(500, flightService.CostOfFlight); Assert.Equal(10, flightService.TotalLoyaltyPointsAccrued); Assert.Equal(100, flightService.TotalLoyaltyPointsRedeemed); Assert.Equal(300, flightService.ProfitSurplus); Assert.Equal( @"Flight summary for London to Paris Total passengers: 10 General sales: 6 Loyalty member sales: 3 Airline employee comps: 1 Total expected baggage: 13 Total revenue from flight: 800 Total costs from flight: 500 Flight generating profit of: 300 Total loyalty points given away: 10 Total loyalty points redeemed: 100 THIS FLIGHT MAY PROCEED", scheduledFlight.GetSummary()); }
public PassengerListViewModel(long journeyId) { _passengerService = new PassengerService(); _journeyId = journeyId; }
public PassengerController(PassengerService passengerService) { _passengerService = passengerService; }
public void Should_Choose_Bigger_Airplane() { var passengerService = new PassengerService(); var aircraftService = new AircraftService(); aircraftService .AddPlanes(TestData.SmallAntonovPlane, TestData.BombardierPlane, TestData.ATRPlane); var calculationService = new CalculationService(); calculationService.AddRules(new ProfitRule(), new RelaxedRule()); var flightService = new FlightService(TestData.LondonToParis); var scheduledFlight = new ScheduledFlight( flightService, passengerService, aircraftService, calculationService, new SummaryFormat(passengerService, aircraftService)); scheduledFlight.SetAircraftForRoute(122); scheduledFlight.SetCurrentRule <ProfitRule>(); scheduledFlight.AddPassenger(TestData.SteveGeneralPassenger); scheduledFlight.AddPassenger(TestData.MarkGeneralPassenger); scheduledFlight.AddPassenger(TestData.JamesGeneralPassenger); scheduledFlight.AddPassenger(TestData.JaneGeneralPassenger); scheduledFlight.AddPassenger(TestData.AlanGeneralPassenger); scheduledFlight.AddPassenger(TestData.SuzyGeneralPassenger); scheduledFlight.AddPassenger(TestData.AnthonyGeneralPassenger); scheduledFlight.AddPassenger(TestData.MikeGeneralPassenger); scheduledFlight.AddPassenger(TestData.JohnLoyaltyPassenger); scheduledFlight.AddPassenger(TestData.SarahLoyaltyPassenger); scheduledFlight.AddPassenger(TestData.JackLoyaltyPassenger); scheduledFlight.AddPassenger(TestData.TrevorAirlineEmployeePassenger); scheduledFlight.Process(); _output.WriteLine(scheduledFlight.GetSummary()); Assert.Equal(12, passengerService.GetCountForPassengerType <Passenger>()); Assert.Equal(8, passengerService.GetCountForPassengerType <GeneralPassenger>()); Assert.Equal(3, passengerService.GetCountForPassengerType <LoyaltyPassenger>()); Assert.Equal(1, passengerService.GetCountForPassengerType <AirlineEmployeePassenger>()); Assert.Equal(15, flightService.TotalExpectedBaggage); Assert.Equal(1000, flightService.ProfitFromFlight); Assert.Equal(600, flightService.CostOfFlight); Assert.Equal(10, flightService.TotalLoyaltyPointsAccrued); Assert.Equal(100, flightService.TotalLoyaltyPointsRedeemed); Assert.Equal(400, flightService.ProfitSurplus); Assert.Equal( @"Flight summary for London to Paris Total passengers: 12 General sales: 8 Loyalty member sales: 3 Airline employee comps: 1 Total expected baggage: 15 Total revenue from flight: 1000 Total costs from flight: 600 Flight generating profit of: 400 Total loyalty points given away: 10 Total loyalty points redeemed: 100 FLIGHT MAY NOT PROCEED Other more suitable aircraft are: Bombardier Q400 could handle this flight ATR 640 could handle this flight ", scheduledFlight.GetSummary()); }
public void Setup() { _passengerService = new PassengerService(_databaseSettings, null); }