Ejemplo n.º 1
0
        public void TestConstructor()
        {
            TaxiStation testSStation = new TaxiStation(55, 25);

            Assert.AreEqual(testSStation.WreckerMilePrice, (uint)55);
            Assert.AreEqual(testSStation.TaxiMilePrice, (uint)25);
        }
Ejemplo n.º 2
0
        static void Main(string[] args)
        {
            ExtendedList<ICar> cars = GetCars();
            TaxiStation myTaxiStation = new TaxiStation(cars);

            WriteLine("Before sorting:\n");
            WriteLine(myTaxiStation);

            // Sample
            WriteLine("\nAfter sorting by AverageCostOfKilometerBYB:\n");
            myTaxiStation.SortCars(x => x.Specifications.AverageCostOfKilometerBYB);
            WriteLine(myTaxiStation);

            // Sample
            myTaxiStation.TryAddCar(cars[0]);
            myTaxiStation.TryAddCar(cars[2]);
            WriteLine("\nAfter adding used cars:\n");
            WriteLine(myTaxiStation);
            WriteLine("\nTotal cars cost: " + myTaxiStation.GetTotalCarsCost() + '\n');

            // Sample
            myTaxiStation.TryRemoveCar(cars[0]);
            myTaxiStation.TryRemoveCar(cars[2]);
            WriteLine("\nAfter remove used cars:\n");
            WriteLine(myTaxiStation);
            WriteLine("\nTotal cars cost: " + myTaxiStation.GetTotalCarsCost() + '\n');

            // Sample
            myTaxiStation.TryAddCar(cars[0]);
            myTaxiStation.TryAddCar(cars[2]);
            WriteLine("\nAfter adding removed cars:\n");
            WriteLine(myTaxiStation);
            WriteLine("\nTotal cars cost: " + myTaxiStation.GetTotalCarsCost() + '\n');

            // Sample
            try
            {
                WriteLine("\nSearch car with speed in the range:\n");
                WriteLine("Enter min speed: ");
                string temp = ReadLine() ?? "0";
                int min = int.Parse(temp);
                WriteLine("Enter max speed: ");
                temp = ReadLine() ?? "100";
                int max = int.Parse(temp);
                WriteLine($"First car with speed in the range [{min}, {max}]:");
                ICar car = myTaxiStation.FirstCarOrDefault(TaxiStationHelper.SpeedBetweenPredicate(min, max));
                string ans = car?.ToString() ?? "Not found\n";
                WriteLine(ans);
            }
            catch (FormatException e)
            {
                WriteLine(e.Message);
            }

            ReadKey();
        }
Ejemplo n.º 3
0
        public void TestSearchCar()
        {
            TaxiStation testSStation = new TaxiStation(55, 25);

            Taxi testTaxiCar = new Taxi("honda",
                                        1985,
                                        "c433mn",
                                        "156bmk239cne207khh",
                                        "morozov",
                                        "uri",
                                        "dmitrievich",
                                        672006,
                                        true,
                                        2,
                                        Taxi.CarClases.Standard,
                                        false);

            testSStation.AddCar(testTaxiCar);

            var tmpCar = testSStation.SearchCarViaNumber("c433mn");

            Taxi tmpCarAfterCast = tmpCar as Taxi;

            Assert.AreEqual(tmpCarAfterCast.Model, "honda");
            Assert.AreEqual(tmpCarAfterCast.StartAge, (ushort)1985);
            Assert.AreEqual(tmpCarAfterCast.Number, "c433mn");
            Assert.AreEqual(tmpCarAfterCast.NumberBody, "156bmk239cne207khh");
            Assert.AreEqual(tmpCarAfterCast.Driverst.DriverSurname, "morozov");
            Assert.AreEqual(tmpCarAfterCast.Driverst.DriverName, "uri");
            Assert.AreEqual(tmpCarAfterCast.Driverst.DriverName2, "dmitrievich");
            Assert.AreEqual(tmpCarAfterCast.SummaryMileage, (uint)672006);
            Assert.AreEqual(tmpCarAfterCast.Smoke, true);
            Assert.AreEqual(tmpCarAfterCast.ChildPositions, 2);
            Assert.AreEqual(tmpCarAfterCast.CarClass, Taxi.CarClases.Standard);
            Assert.AreEqual(tmpCarAfterCast.Animals, false);
        }
Ejemplo n.º 4
0
        public void TestAddCar()
        {
            TaxiStation testSStation = new TaxiStation(55, 25);

            // Проверяем что количество машинок 0.
            Assert.AreEqual(testSStation.AllCars.Count, 0);

            Taxi testTaxiCar = new Taxi("honda",
                                        1985,
                                        "c433mn",
                                        "156bmk239cne207khh",
                                        "morozov",
                                        "uri",
                                        "dmitrievich",
                                        672006,
                                        true,
                                        2,
                                        Taxi.CarClases.Standard,
                                        false);

            testSStation.AddCar(testTaxiCar);
            // Теперь должно быть 1.
            Assert.AreEqual(testSStation.AllCars.Count, 1);
        }
        static void Main(string[] args)
        {
            TaxiStation taxiStation = new TaxiStation();

            taxiStation.CreateTaxi(TaxiTypes.Cargo, 90, 600, 11, 5);
            taxiStation.CreateTaxi(TaxiTypes.Cargo, 100, 500, 16, 0);
            taxiStation.CreateTaxi(TaxiTypes.Pass, 150, 400, 9, 0);
            taxiStation.CreateTaxi(TaxiTypes.Pass, 160, 300, 10, 6);
            taxiStation.CreateTaxi(TaxiTypes.Ricksha, 0, 200, 1);
            taxiStation.CreateTaxi(TaxiTypes.Ricksha, 10, 100, 2);
            taxiStation.CreateTaxi(TaxiTypes.Ricksha, 15, 50, 3);
            taxiStation.CreateTaxi(TaxiTypes.Cargo, 110, 700, 13, 0);
            taxiStation.CreateTaxi(TaxiTypes.Pass, 140, 800, 8, 0);

            Console.WriteLine("\tUNSORTED TAXI STATION");
            taxiStation.ShowTaxis();

            Console.WriteLine("Total taxi station count is {0}", taxiStation.TotalTaxisCount());

            int          minSpeed        = 90;
            int          maxSpeed        = 110;
            List <ITaxi> findTaxiBySpeed = taxiStation.FindTaxisBySpeed(minSpeed, maxSpeed);

            foreach (var taxi in findTaxiBySpeed)
            {
                Console.WriteLine("Taxi with speed between {2} and {3} is {0} with {1} km/h",
                                  taxi.GetType().Name, taxi.Speed, minSpeed, maxSpeed);
            }

            Console.WriteLine("\n\tSORTED TAXI STATION\nType\tSpeed\tPrice\tConsumption\tFuel");
            List <ITaxi> sortedTaxisByCons = taxiStation.SortTaxisByConsumption();

            foreach (var taxi in sortedTaxisByCons)
            {
                Console.WriteLine("{0}\t{1}\t{2}\t{3}\t\t{4}", taxi.TaxiType, taxi.Speed, taxi.Price, taxi.Consumption, taxi.Fuel);
            }

            Console.WriteLine();
            taxiStation.SendTaxisToWork();

            List <ITaxi> TaxisToSell = taxiStation.FindTaxisBySpeed(0, 0);

            foreach (var taxi in TaxisToSell)
            {
                taxiStation.SellTaxi(taxi);
            }

            Console.WriteLine("\n\n\tTAXI STATION AFTER SELLING CARS");
            taxiStation.ShowTaxis();

            Console.WriteLine("\tSOLD TAXIS");
            List <ITaxi> sellTaxis = taxiStation.GetSoldTaxis();

            foreach (var taxi in sellTaxis)
            {
                Console.WriteLine("{0}\t{1}\t{2}\t{3}\t\t{4}", taxi.TaxiType, taxi.Speed, taxi.Price, taxi.Consumption, taxi.Fuel);
            }
            Console.WriteLine();

            FuelStation fuelStation = new FuelStation();

            foreach (ITaxi taxi in sortedTaxisByCons)
            {
                if (!(taxi is RickshaTaxi) && (taxi.Fuel == 0))
                {
                    IFuelable fuelableTaxi = (IFuelable)taxi;
                    fuelStation.FuelStationWork(fuelableTaxi, 10);
                }
            }

            taxiStation.SendTaxisToWork();

            Console.ReadKey();
        }
 public TaxiStation <IPassengerCar> CreateTaxiStation()
 {
     return(_taxiStation = new TaxiStation <IPassengerCar>(0, "Test", CreateListOfCar("BMW", "Germany", "M-ser")));
 }