public void WhenOperatorCriteriaAreMet_ThenShippingOperatorIsSelected(string targetCountry, decimal weight, string expectedOperator) { var order = new OrderBuilder() .WithCountry(targetCountry) .WithWeight(weight) .Build(); var shipmentOperator = ShipmentOperator.Parse(order); Assert.AreEqual(expectedOperator, shipmentOperator.Operator); }
private IEnumerable <Shipment> ProcessOrders(IEnumerable <Order> orders) { foreach (var order in orders) { var shipmentOperator = ShipmentOperator.Parse(order); yield return(new Shipment { CustomerId = order.CustomerId, Name = order.Name, Shipper = shipmentOperator.Operator, Duration = shipmentOperator.GetShipmentDuration(order), ShippingCost = shipmentOperator.GetShipmentPrice(order) }); } }