コード例 #1
0
        private static void PrintCuttingReport(ToyBlockFactory toyBlockFactory, int orderNumber)
        {
            var order = toyBlockFactory.GetOrder(orderNumber);

            Console.WriteLine("Your cutting list has been generated:");
            Console.WriteLine(
                $"Name: {order.Name} Address: {order.Address} Due Date: {order.DueDate} Order Number: {order.OrderNumber}");
            Console.WriteLine($"|{"",10}|{" Qty ",4}|");
            Console.WriteLine($"|{"----------",10}|{"-----",4}|");

            var cuttingReport = toyBlockFactory.GetCuttingReport(orderNumber);

            foreach (var shape in ToyBlockFactory.GetAvailableShapes())
            {
                Console.Write($"|{shape,10}|");

                if (cuttingReport.GetShapeTotal(shape) > 0)
                {
                    Console.Write($"{cuttingReport.GetShapeTotal(shape),5}|");
                }
                else if (cuttingReport.GetShapeTotal(shape) == 0)
                {
                    Console.Write($"{"-", 4} |");
                }
                Console.WriteLine("");
            }
        }
コード例 #2
0
        public void CreateOrderFromInput()
        {
            var cashierInput = new CashierInput(new List <int>()
            {
                1, 1, 1, 1, 1, 1, 1, 1, 1
            });
            var toyBlockFactory = new KataToyBlockFactory.ToyBlockFactory(cashierInput);

            toyBlockFactory.StartOrder();
            var cuttingReport = toyBlockFactory.GetCuttingReport(1);

            Assert.Equal(3, cuttingReport.GetShapeTotal(Shape.Circle));
        }
コード例 #3
0
        public void CreateOrderFromInputIncludingZeroQuantity()
        {
            var cashierInput = new CashierInput(new List <int>()
            {
                0, 0, 0, 1, 1, 1, 1, 1, 1
            });

            var toyBlockFactory = new KataToyBlockFactory.ToyBlockFactory(cashierInput);

            toyBlockFactory.StartOrder();
            var cuttingReport = toyBlockFactory.GetCuttingReport(1);

            Assert.Equal(0, cuttingReport.GetShapeTotal(Shape.Square));
        }
コード例 #4
0
        public void Create_Cutting_Report_Will_Return_Number_Of_Shapes_For_Single_Order()
        {
            //Arrange
            var order = _toyBlockFactory.CreateOrder("James", "123 Smith Street, Fitzroy");

            order.AddBlock(Shape.Circle, Color.Blue);
            order.AddBlock(Shape.Square, Color.Blue);
            order.AddBlock(Shape.Square, Color.Red);
            order.AddBlock(Shape.Triangle, Color.Blue);
            order.AddBlock(Shape.Triangle, Color.Yellow);
            order.AddBlock(Shape.Square, Color.Yellow);
            order.AddBlock(Shape.Square, Color.Red);

            var cuttingReport = _toyBlockFactory.GetCuttingReport(1);

            Assert.Equal(2, cuttingReport.GetShapeTotal(Shape.Triangle));
            Assert.Equal(4, cuttingReport.GetShapeTotal(Shape.Square));
            Assert.Equal(1, cuttingReport.GetShapeTotal(Shape.Circle));
        }
コード例 #5
0
        public void Total_Number_Of_Shapes_Is_Based_On_Order_Number()
        {
            var cuttingReportForOrder1 = _toyBlockFactory.GetCuttingReport(1);

            Assert.Equal(2, cuttingReportForOrder1.GetShapeTotal(Shape.Circle));
        }