コード例 #1
0
        public void RentedBikeIncorrectTimeTest()
        {
            var rentStart = new DateTime(2020, 1, 2, 0, 0, 0);
            var rentEnd   = new DateTime(2020, 1, 1, 0, 0, 0);

            Assert.ThrowsException <RentedBikeIncorrectTimeException>(() =>
                                                                      _incomeCalculator.BikeRentCalculatingIncome(rentStart, rentEnd, 0.2m));
        }
コード例 #2
0
        public decimal EndRentOfBike(string id)
        {
            if (!_rentedBikes.ContainsKey(id))
            {
                throw new BikeNotRentedException();
            }

            var rentedBike       = _rentedBikes[id];
            var rentEnd          = DateTime.Now;
            var rentedBikeIncome = _incomeCalculator.BikeRentCalculatingIncome(rentedBike.StartRent, rentEnd, rentedBike.Price);

            rentedBike.EndOfRentedBike(rentEnd, rentedBikeIncome);
            rentedBike.Bike.IsRented = false;
            _rentedBikes.Remove(rentedBike.Bike.Id);
            _rentedBikesHistory.Add(rentedBike);
            return(rentedBikeIncome);
        }