public void OrderStatusProcessedWhenBlocksAdded()
        {
            var cashierInput = new CashierInput(new List <int>()
            {
                0, 0, 0, 1, 1, 1, 1, 1, 1
            });
            var toyBlockFactory = new KataToyBlockFactory.ToyBlockFactory(cashierInput);

            toyBlockFactory.StartOrder();
            Assert.Equal(OrderStatus.Processed, toyBlockFactory.GetOrderStatus(1));
        }
        public void OrderStatusNoneWhenNoBlocksAdded()
        {
            var cashierInput = new CashierInput(new List <int>()
            {
                0, 0, 0, 0, 0, 0, 0, 0, 0
            });
            var toyBlockFactory = new KataToyBlockFactory.ToyBlockFactory(cashierInput);

            toyBlockFactory.StartOrder();
            Assert.Equal(OrderStatus.None, toyBlockFactory.GetOrderStatus(1));
        }
        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));
        }
        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));
        }