コード例 #1
0
        public void LineToOrder_Success()
        {
            // ARRANGE
            var line = new CsvOrderLine()
            {
                CustomerId = 1, Weight = 1.1
            };

            // ACT
            var order = line.ToOrder(null);

            // ASSESS
            Assert.Equal(1, order.CustomerId);
            Assert.Equal(1.1, order.Weight);
            Assert.Single(order.OrderLines);
        }
コード例 #2
0
        public void OrderToShippingAssignment_Success()
        {
            // ARRANGE
            var line = new CsvOrderLine()
            {
                CustomerId = 1, Weight = 1.1, Country = "Netherlands"
            };
            var order = new CustomerOrder()
            {
                CustomerId = 1, Weight = 1.1, Country = "Netherlands"
            };

            order.OrderLines.Add(line);

            // ACT
            var shipping = order.ToShippingAssignment();

            // ASSESS
            Assert.Equal(1, shipping.Order.CustomerId);
        }
コード例 #3
0
        public static CustomerOrder ToOrder(this CsvOrderLine orderLine, CustomerOrder order)
        {
            if (orderLine == null)
            {
                throw new ArgumentNullException(nameof(orderLine));
            }

            if (order == null)
            {
                order = new CustomerOrder()
                {
                    CustomerId = orderLine.CustomerId,
                    Name       = orderLine.Name,
                    Country    = orderLine.Country
                };
            }

            order.OrderLines.Add(orderLine);
            order.Weight += orderLine.Weight;

            return(order);
        }
コード例 #4
0
        public void ShippingAssignmentToConfirmation_Success()
        {
            // ARRANGE
            var line = new CsvOrderLine()
            {
                CustomerId = 1, Weight = 1.1, Country = "Netherlands"
            };
            var order = new CustomerOrder()
            {
                CustomerId = 1, Weight = 1.1, Country = "Netherlands"
            };

            order.OrderLines.Add(line);
            var assignment = new ShippingAssignment()
            {
                Order = order, Shipper = "PostNL"
            };
            // ACT
            var sc = assignment.ToShippingConfirmation();

            // ASSESS
            Assert.Equal(1, sc.Order.CustomerId);
        }