public void CalculatePrice_Zero_WhenCartEmpty() { CartItem cartItem = new CartItem(); var result = _pricingStrategy.CalculatePrice(cartItem).Result; Assert.Equal(0, result); }
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)); }