Exemple #1
0
        public void GiveTotalPricesTest_PassengerRouteTotalPrice_4()
        {
            //Arrange
            var journey = new Journey("mock", "mockk", 100, 1, "mock");

            var route1 = new PassengerRoute("mock", 100, "mock", 1);
            var route2 = new PassengerRoute("mock", 50, "mock", 1);
            var route3 = new PassengerRoute("mock", 50, "mock", 1);

            journey.PassengerRoutes.Add(route1);
            journey.PassengerRoutes.Add(route2);
            journey.PassengerRoutes.Add(route3);

            var priceForLiter        = 2;
            var fuelConsumption100km = 10;

            //Act
            journeyService.SetTotalPrices(journey, priceForLiter, fuelConsumption100km);

            var expected1 = 7.5m;
            var expected2 = 2.5m;
            var expected3 = 2.5m;

            var actual1 = journey.PassengerRoutes[0].TotalPrice;
            var actual2 = journey.PassengerRoutes[1].TotalPrice;
            var actual3 = journey.PassengerRoutes[2].TotalPrice;

            //Assert
            Assert.Equal(expected1, actual1);
            Assert.Equal(expected2, actual2);
            Assert.Equal(expected3, actual3);
        }
        public void AddPaymentsTest_2()
        {
            //Arrange
            var mockedPaymentRepository = new Mock <IRepository <Payment> >();

            mockedPaymentRepository.Setup(r => r.Save()).Returns(true);

            var journey = new Journey("mock", "mock", 1, 1, "mock");

            var ps1 = new PassengerRoute("mock", 1, "mock", 1);
            var ps2 = new PassengerRoute("mock", 1, "mock", 1);
            var ps3 = new PassengerRoute("mock", 1, "mock", 1);

            ps1.SetTotalPrice(50);
            ps2.SetTotalPrice(100);
            ps3.SetTotalPrice(150);

            journey.PassengerRoutes.Add(ps1);
            journey.PassengerRoutes.Add(ps2);
            journey.PassengerRoutes.Add(ps3);

            var paymentService = new PaymentService(mockedPaymentRepository.Object, mockedUserRepository.Object);

            //Act
            var actual = paymentService.AddPayments(journey);

            //Assert
            Assert.Collection(actual, p => Assert.Equal(50, p.Amount),
                              p => Assert.Equal(100, p.Amount),
                              p => Assert.Equal(150, p.Amount));
        }
Exemple #3
0
        //creates a route and returns if success
        private Boolean createRoute()
        {
            Route   route        = null;
            Airport destination1 = (Airport)cbDestination1.SelectedItem;
            Airport destination2 = (Airport)cbDestination2.SelectedItem;
            Airport stopover1    = (Airport)cbStopover1.SelectedItem;
            Airport stopover2    = cbStopover2.Visibility == System.Windows.Visibility.Visible ? (Airport)cbStopover2.SelectedItem : null;

            try
            {
                if (AirlineHelpers.IsRouteDestinationsOk(GameObject.GetInstance().HumanAirline, destination1, destination2, rbPassenger.IsChecked.Value ? Route.RouteType.Passenger : Route.RouteType.Cargo, stopover1, stopover2))
                {
                    Guid id = Guid.NewGuid();

                    //passenger route
                    if (rbPassenger.IsChecked.Value)
                    {
                        route = new PassengerRoute(id.ToString(), destination1, destination2, 0);

                        foreach (MVVMRouteClass rac in this.Classes)
                        {
                            ((PassengerRoute)route).getRouteAirlinerClass(rac.Type).FarePrice = rac.FarePrice;

                            foreach (MVVMRouteFacility facility in rac.Facilities)
                            {
                                ((PassengerRoute)route).getRouteAirlinerClass(rac.Type).addFacility(facility.SelectedFacility);
                            }
                        }
                    }
                    //cargo route
                    else
                    {
                        double cargoPrice = Convert.ToDouble(txtCargoPrice.Text);
                        route = new CargoRoute(id.ToString(), destination1, destination2, cargoPrice);
                    }

                    FleetAirlinerHelpers.CreateStopoverRoute(route, stopover1, stopover2);

                    GameObject.GetInstance().HumanAirline.addRoute(route);

                    return(true);
                }
            }
            catch (Exception ex)
            {
                WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", ex.Message), Translator.GetInstance().GetString("MessageBox", ex.Message, "message"), WPFMessageBoxButtons.Ok);

                return(false);
            }

            return(false);
        }
Exemple #4
0
        public void GiveTotalPricesTest_PassengerRouteTotalPrice_1()
        {
            //Arrange
            var journey = new Journey("mock", "mock", 100, 1, "mock");
            var route   = new PassengerRoute("mock", 100, "mock", 1);

            journey.PassengerRoutes.Add(route);

            var priceForLiter        = 2;
            var fuelConsumption100km = 10;

            //Act
            journeyService.SetTotalPrices(journey, priceForLiter, fuelConsumption100km);
            var expected = 10;
            var actual   = journey.PassengerRoutes[0].TotalPrice;

            //Assert
            Assert.Equal(expected, actual);
        }
Exemple #5
0
        public bool SetRouteTime(UserModel user, string text)
        {
            var res = "";

            using (var dataModel = new Mibarim_plusEntities())
            {
                var lastMsg =
                    dataModel.TelegramMsgs.OrderByDescending(x => x.TmsgCreateTime)
                    .FirstOrDefault(x => x.TuserId == user.TuserId && x.TmsgType == (int)KntuMessageType.Knturoute);
                var stationRouteId = GetStationRouteId(lastMsg.TmsgMessage);
                var existroute     =
                    dataModel.PassengerRoutes.FirstOrDefault(
                        x =>
                        x.UserId == user.TuserId && x.PassTime > DateTime.Now &&
                        x.StationRouteId == stationRouteId && x.IsDeleted == false);
                if (existroute != null)
                {
                    existroute.IsDeleted = true;
                    dataModel.SaveChanges();
                }

                var time         = TimeSpan.Parse(text);
                var dateTime     = DateTime.Today.Add(time);
                var rtime        = GetNextDateTime(dateTime.Hour, dateTime.Minute);
                var newpassroute = new PassengerRoute();
                newpassroute.UserId     = user.TuserId;
                newpassroute.CreateTime = DateTime.Now;
                newpassroute.IsDeleted  = false;
                newpassroute.PassTime   = rtime;
                newpassroute.NotifSeq   = (int)NotifSeq.NotNotifed;

                /*if (rtime > DateTime.Now &&
                 *  rtime < DateTime.Now.AddHours(1))
                 * {
                 *  newpassroute.NotifSeq = (int)NotifSeq.OneNotifed;
                 * }*/
                newpassroute.StationRouteId = stationRouteId;
                dataModel.PassengerRoutes.Add(newpassroute);
                dataModel.SaveChanges();
            }
            return(true);
        }
        //sets up an scenario airline route
        private static void SetupScenarioRoute(ScenarioAirlineRoute saroute, Airline airline)
        {
            SetupScenarioAirport(airline, saroute.Destination1, saroute.Quantity);
            SetupScenarioAirport(airline, saroute.Destination2, saroute.Quantity);

            double price = PassengerHelpers.GetPassengerPrice(saroute.Destination1, saroute.Destination2);

            for (int i = 0; i < saroute.Quantity; i++)
            {
                Guid id = Guid.NewGuid();

                PassengerRoute route = new PassengerRoute(id.ToString(), saroute.Destination1, saroute.Destination2, price);

                RouteClassesConfiguration configuration = AIHelpers.GetRouteConfiguration(route);

                foreach (RouteClassConfiguration classConfiguration in configuration.getClasses())
                {
                    route.getRouteAirlinerClass(classConfiguration.Type).FarePrice = price * GeneralHelpers.ClassToPriceFactor(classConfiguration.Type);

                    foreach (RouteFacility rfacility in classConfiguration.getFacilities())
                    {
                        route.getRouteAirlinerClass(classConfiguration.Type).addFacility(rfacility);
                    }
                }

                airline.addRoute(route);

                FleetAirliner fAirliner = AirlineHelpers.CreateAirliner(airline, saroute.AirlinerType);
                airline.addAirliner(fAirliner);

                fAirliner.addRoute(route);

                AIHelpers.CreateRouteTimeTable(route, fAirliner);

                fAirliner.Status = FleetAirliner.AirlinerStatus.To_route_start;
                AirlineHelpers.HireAirlinerPilots(fAirliner);

                route.LastUpdated = GameObject.GetInstance().GameTime;
            }
        }
Exemple #7
0
        public void GiveTotalPricesTest_PassengerRouteTotalPrice_5()
        {
            //Arrange
            var journey = new Journey("mock", "mockk", 100, 1, "mock");

            var route1 = new PassengerRoute("mock", 75, "mock", 1);
            var route2 = new PassengerRoute("mock", 50, "mock", 1);
            var route3 = new PassengerRoute("mock", 25, "mock", 1);
            var route4 = new PassengerRoute("mock", 10, "mock", 1);

            journey.PassengerRoutes.Add(route1);
            journey.PassengerRoutes.Add(route2);
            journey.PassengerRoutes.Add(route3);
            journey.PassengerRoutes.Add(route4);

            var priceForLiter        = 2;
            var fuelConsumption100km = 10;

            //Act
            journeyService.SetTotalPrices(journey, priceForLiter, fuelConsumption100km);

            var expected1 = 5.32m;
            var expected2 = 2.82m;
            var expected3 = 1.15m;
            var expected4 = 0.4m;

            var actual1 = Decimal.Round(journey.PassengerRoutes[0].TotalPrice, 2);
            var actual2 = Decimal.Round(journey.PassengerRoutes[1].TotalPrice, 2);
            var actual3 = Decimal.Round(journey.PassengerRoutes[2].TotalPrice, 2);
            var actual4 = Decimal.Round(journey.PassengerRoutes[3].TotalPrice, 2);

            //Assert
            Assert.Equal(expected1, actual1);
            Assert.Equal(expected2, actual2);
            Assert.Equal(expected3, actual3);
            Assert.Equal(expected4, actual4);
        }
Exemple #8
0
        //creates a route and returns if success
        private Boolean createRoute()
        {
            Route    route        = null;
            Airport  destination1 = (Airport)cbDestination1.SelectedItem;
            Airport  destination2 = (Airport)cbDestination2.SelectedItem;
            Airport  stopover1    = (Airport)cbStopover1.SelectedItem;
            Airport  stopover2    = cbStopover2.Visibility == System.Windows.Visibility.Visible ? (Airport)cbStopover2.SelectedItem : null;
            DateTime startDate    = dpStartDate.IsEnabled && dpStartDate.SelectedDate.HasValue ? dpStartDate.SelectedDate.Value : GameObject.GetInstance().GameTime;

            Weather.Season season = rbSeasonAll.IsChecked.Value ? Weather.Season.All_Year : Weather.Season.Winter;
            season = rbSeasonSummer.IsChecked.Value ? Weather.Season.Summer : season;
            season = rbSeasonWinter.IsChecked.Value ? Weather.Season.Winter : season;

            try
            {
                if (AirlineHelpers.IsRouteDestinationsOk(GameObject.GetInstance().HumanAirline, destination1, destination2, this.RouteType, stopover1, stopover2))
                {
                    Guid id = Guid.NewGuid();

                    //passenger route
                    if (this.RouteType == Route.RouteType.Passenger)
                    {
                        //Vis på showroute
                        route = new PassengerRoute(id.ToString(), destination1, destination2, startDate, 0);

                        foreach (MVVMRouteClass rac in this.Classes)
                        {
                            ((PassengerRoute)route).getRouteAirlinerClass(rac.Type).FarePrice = rac.FarePrice;

                            foreach (MVVMRouteFacility facility in rac.Facilities)
                            {
                                ((PassengerRoute)route).getRouteAirlinerClass(rac.Type).addFacility(facility.SelectedFacility);
                            }
                        }
                    }
                    //cargo route
                    else if (this.RouteType == Route.RouteType.Cargo)
                    {
                        double cargoPrice = Convert.ToDouble(txtCargoPrice.Text);
                        route = new CargoRoute(id.ToString(), destination1, destination2, startDate, cargoPrice);
                    }
                    else if (this.RouteType == Route.RouteType.Mixed)
                    {
                        double cargoPrice = Convert.ToDouble(txtCargoPrice.Text);

                        route = new CombiRoute(id.ToString(), destination1, destination2, startDate, 0, cargoPrice);

                        foreach (MVVMRouteClass rac in this.Classes)
                        {
                            ((PassengerRoute)route).getRouteAirlinerClass(rac.Type).FarePrice = rac.FarePrice;

                            foreach (MVVMRouteFacility facility in rac.Facilities)
                            {
                                ((PassengerRoute)route).getRouteAirlinerClass(rac.Type).addFacility(facility.SelectedFacility);
                            }
                        }
                    }

                    FleetAirlinerHelpers.CreateStopoverRoute(route, stopover1, stopover2);

                    route.Season = season;

                    GameObject.GetInstance().HumanAirline.addRoute(route);

                    return(true);
                }
            }
            catch (Exception ex)
            {
                WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", ex.Message), Translator.GetInstance().GetString("MessageBox", ex.Message, "message"), WPFMessageBoxButtons.Ok);

                return(false);
            }

            return(false);
        }
Exemple #9
0
        private void btnSave_Click(object sender, RoutedEventArgs e)
        {
            Airline airline   = GameObject.GetInstance().HumanAirline;
            Airport dest1     = (Airport)cbDestination1.SelectedItem;
            Airport dest2     = (Airport)cbDestination2.SelectedItem;
            Airport stopover1 = ucStopover1.Value;
            Airport stopover2 = ucStopover2.Value;

            Boolean stopoverOk = (stopover1 == null ? true : AirportHelpers.HasFreeGates(stopover1, airline)) && (stopover2 == null ? true : AirportHelpers.HasFreeGates(stopover2, airline));

            if (AirportHelpers.HasFreeGates(dest1, airline) && AirportHelpers.HasFreeGates(dest2, airline) && stopoverOk)
            {
                Route route = null;
                Guid  id    = Guid.NewGuid();

                if (this.RouteType == Route.RouteType.Passenger)
                {
                    route = new PassengerRoute(id.ToString(), dest1, dest2, 0);

                    foreach (RouteAirlinerClass aClass in this.Classes.Values)
                    {
                        ((PassengerRoute)route).getRouteAirlinerClass(aClass.Type).FarePrice = aClass.FarePrice;

                        foreach (RouteFacility facility in aClass.getFacilities())
                        {
                            ((PassengerRoute)route).getRouteAirlinerClass(aClass.Type).addFacility(facility);
                        }

                        ((PassengerRoute)route).getRouteAirlinerClass(aClass.Type).Seating = aClass.Seating;
                    }
                }
                if (this.RouteType == Route.RouteType.Cargo)
                {
                    route = new CargoRoute(id.ToString(), dest1, dest2, this.CargoPrice);
                }


                if (stopover1 != null)
                {
                    if (stopover2 != null)
                    {
                        route.addStopover(FleetAirlinerHelpers.CreateStopoverRoute(dest1, stopover1, stopover2, route, false, this.RouteType));
                    }
                    else
                    {
                        route.addStopover(FleetAirlinerHelpers.CreateStopoverRoute(dest1, stopover1, dest2, route, false, this.RouteType));
                    }
                }

                if (stopover2 != null)
                {
                    if (stopover1 != null)
                    {
                        route.addStopover(FleetAirlinerHelpers.CreateStopoverRoute(stopover1, stopover2, dest2, route, true, this.RouteType));
                    }
                    else
                    {
                        route.addStopover(FleetAirlinerHelpers.CreateStopoverRoute(dest1, stopover2, dest2, route, false, this.RouteType));
                    }
                }

                airline.addRoute(route);

                PageNavigator.NavigateTo(new PageRoutes());

                this.Visibility = System.Windows.Visibility.Collapsed;

                route.LastUpdated = GameObject.GetInstance().GameTime;
            }
            else
            {
                WPFMessageBox.Show(Translator.GetInstance().GetString("MessageBox", "2501"), Translator.GetInstance().GetString("MessageBox", "2501", "message"), WPFMessageBoxButtons.Ok);
            }
        }
Exemple #10
0
        public void SetTotalPriceTestShouldThrowArgumentNullException(decimal totalPrice)
        {
            var route = new PassengerRoute("mock", 1, "mock", 1);

            Assert.Throws <ArgumentException>(() => route.SetTotalPrice(totalPrice));
        }
Exemple #11
0
        public void SetDestinationTestShouldThrowArgumentNullException(string destiantion)
        {
            var route = new PassengerRoute("mock", 1, "mock", 1);

            Assert.Throws <ArgumentNullException>(() => route.SetDestination(destiantion));
        }