Exemple #1
0
        public void CalculatePriceEstate()
        {
            var rent = new RentDbModel
            {
                Date        = new DateTime(2017, 12, 3, 15, 0, 0),
                Mileage     = 600,
                CarCategory = "Kombi"
            };

            var receive = new ReceiveDbModel
            {
                Date    = new DateTime(2017, 12, 6, 15, 0, 0),
                Mileage = 680
            };

            var expectedPrice = _baseRent * 3 * 1.3 + _baseKmPrice * 80;

            var crHelper = new CarRentalHelper();
            var price    = crHelper.CalculatePrice(rent, receive, _baseRent, _baseKmPrice);

            Assert.AreEqual(expectedPrice, price);
        }
Exemple #2
0
        public void CalculatePriceTruck()
        {
            var rent = new RentDbModel
            {
                Date        = new DateTime(2017, 12, 3, 15, 0, 0),
                Mileage     = 600,
                CarCategory = "Lastbil"
            };

            var receive = new ReceiveDbModel
            {
                Date    = new DateTime(2017, 12, 7, 15, 0, 0),
                Mileage = 680
            };

            var expectedPrice = _baseRent * 4 * 1.5 + _baseKmPrice * 80 * 1.5;

            var crHelper = new CarRentalHelper();
            var price    = crHelper.CalculatePrice(rent, receive, _baseRent, _baseKmPrice);

            Assert.AreEqual(expectedPrice, price);
        }
Exemple #3
0
        public double CalculatePrice(RentDbModel rent, ReceiveDbModel receive, int baseRent, int baseKmPrice)
        {
            var numberOfKm   = receive.Mileage - rent.Mileage;
            var numberOfDays = (receive.Date - rent.Date).TotalDays;

            double price = 0;

            switch (rent.CarCategory)
            {
            case "Småbil":
                price = baseRent * numberOfDays;
                break;

            case "Kombi":
                price = baseRent * numberOfDays * 1.3 + baseKmPrice * numberOfKm;
                break;

            case "Lastbil":
                price = baseRent * numberOfDays * 1.5 + baseKmPrice * numberOfKm * 1.5;
                break;
            }

            return(price);
        }