public void ShouldAssignShippingPrices() { _discounts.AssignShippingPrices(); Assert.Equal(Constants.ShippingPrices.Medium.LaPoste, _discounts.Transactions[0].ShippingPrice); Assert.Equal(Constants.ShippingPrices.Small.MondialRelay, _discounts.Transactions[1].ShippingPrice); Assert.Null(_discounts.Transactions[2].ShippingPrice); }
private static List <Transaction> CalculateDiscounts(List <Transaction> transactions, Dictionary <string, decimal> monthlyDiscounts) { var discounts = new Discounts { Transactions = transactions, MonthlyDiscounts = monthlyDiscounts }; discounts = discounts .AssignShippingPrices() .CalculateSmallShipmentDiscounts() .CalculateLargeShipmentDiscounts(); return(discounts.Transactions); }