public void Ensure_order_can_only_be_delivered_when_orderStatus_is_not_cancelled_and_its_already_shipped()
        {
            var order = new Order();

            foreach (OrderStatus os in Enum.GetValues(typeof(OrderStatus)))
            {
                foreach (PaymentStatus ps in Enum.GetValues(typeof(PaymentStatus)))
                {
                    foreach (ShippingStatus ss in Enum.GetValues(typeof(ShippingStatus)))
                    {
                        order.OrderStatus    = os;
                        order.PaymentStatus  = ps;
                        order.ShippingStatus = ss;
                        if (os != OrderStatus.Cancelled && ss == ShippingStatus.Shipped)
                        {
                            _orderProcessingService.CanDeliver(order).ShouldBeTrue();
                        }
                        else
                        {
                            _orderProcessingService.CanDeliver(order).ShouldBeFalse();
                        }
                    }
                }
            }
        }