public void CalculatePrice_Zero_WhenCartEmpty()
        {
            CartItem cartItem = new CartItem();
            var      result   = _pricingStrategy.CalculatePrice(cartItem).Result;

            Assert.Equal(0, result);
        }
Exemplo n.º 2
0
        public void CreateTrip(Rider rider, Location fromPoint, Location toPoint)
        {
            var closeByCabs = _cabService.GetCabs(fromPoint, _maxMatchingDistance);

            var matchedCab = _cabMatchStrategy.GetCabMatchForTheRider(rider, closeByCabs, fromPoint, toPoint);

            if (matchedCab == null)
            {
                throw new CustomException("CABS_NOT_AVAILABLE", 400);
            }

            var price   = _pricingStrategy.CalculatePrice(fromPoint, toPoint);
            var newTrip = new Trip(matchedCab, rider, price, fromPoint, toPoint);

            if (!Trips.ContainsKey(rider.Id))
            {
                Trips.Add(rider.Id, new List <Trip>());
            }

            Trips[rider.Id].Add(newTrip);
            matchedCab.CurrentTrip = newTrip;
        }
 public async Task <decimal> CalculateCartPrice(CartItem cartItem)
 {
     return(await _pricingStrategy.CalculatePrice(cartItem));
 }