public void ShippingProcessorProcessTest() { DateTime?date; string packageSize; string shippingProviderCode; List <(string packageSize, string shippingProviderCode, DateTime date, int shipmentNumber)> shipmentNumbers = new List <(string packageSize, string shippingProviderCode, DateTime date, int shipmentNumber)>(); List <(ShippingItem shippingItem, bool correctLine, string line)> items = new List <(ShippingItem shippingItem, bool correctLine, string line)>(); int shipmentNumber = 0; DateTime?previousDate = null; bool correctLine; var shippingProcessor = new ShippingProcessor(); SetShippingProvider(shippingProcessor); SetRules(shippingProcessor); items = SetItems(shippingProcessor); string s1 = ""; shippingProcessor.Process(items) .ForEach(s => { if (!s.correctLine) { s1 += $"{s.line} Ignored\r\n"; return; } string discount = s.ruleProcessingResult.discount == 0 ? "-" : s.ruleProcessingResult.discount.ToString("F"); s1 += $"{s.line} {s.ruleProcessingResult.price:0.00} {discount}\r\n"; }); Assert.AreEqual(s1, @"2015-02-01 S MR 3.00 - 2015-02-02 S MR 3.00 - 2015-02-03 L LP 2.50 5.40 2015-02-05 S LP 2.50 - 2015-02-06 S MR 3.00 - 2015-02-06 L LP 3.30 4.60 2015-02-07 L MR 5.00 - 2015-02-08 M MR 4.00 - 2015-02-09 L LP 7.90 - 2015-02-10 L LP 7.90 - 2015-02-10 S MR 3.00 - 2015-02-10 S MR 3.00 - 2015-02-11 L LP 7.90 - 2015-02-12 M MR 4.00 - 2015-02-13 M LP 5.90 - 2015-02-15 S MR 3.00 - 2015-02-17 L LP 7.90 - 2015-02-17 S MR 3.00 - 2015-02-24 L LP 7.90 - 2015-02-29 CUSPS Ignored 2015-03-01 S MR 3.00 - "); }
private void SetShippingProvider(ShippingProcessor shippingProcessor) { var shippingProvider = new List <ShippingProvider>(); shippingProvider.AddRange( new[]
public decimal CalculateShipping() { ShippingProcessor shippingProcessor = new ShippingProcessor(); return(shippingProcessor.CalculateShippingAmount(State.Alaska)); }