Exemple #1
0
        public void ShouldCreateAnOrderWithCorrectDueDate_WhenValidInputReceived()
        {
            var productsList        = new List <OrderItem>();
            var inputReader         = new MockInputReader(standardCSVHeaders, csvBodyWithOneOrder);
            var orderInputValidator = new OrderInputValidator();
            var orderTaker          = new CSVOrderTaker(inputReader, productsList, orderInputValidator);

            var orders          = orderTaker.CreateOrder();
            var result          = orders[0];
            var expectedDueDate = new DateTime(2021, 01, 19);


            Assert.True(result.DueDate.Equals(expectedDueDate));
        }
Exemple #2
0
        public void ShouldCreateAnOrderWithCorrectCustomerDetails_WhenValidInputReceived()
        {
            var productsList        = new List <OrderItem>();
            var inputReader         = new MockInputReader(standardCSVHeaders, csvBodyWithOneOrder);
            var orderInputValidator = new OrderInputValidator();
            var orderTaker          = new CSVOrderTaker(inputReader, productsList, orderInputValidator);

            var orders = orderTaker.CreateOrder();
            var result = orders[0];

            Assert.IsType <Order>(result);
            Assert.Equal("Test Name", result.Customer.Name);
            Assert.Equal("Test Address", result.Customer.Address);
        }
Exemple #3
0
        public void ShouldCreateAnOrderWithCorrectNumberAndQuantityOfOrderItems_WhenValidInputReceived()
        {
            var red    = new Color("Red", (decimal)1.00);
            var yellow = new Color("Yellow", (decimal)0.00);
            var blue   = new Color("Blue", (decimal)0.00);


            var circle   = new Block("Circle", (decimal)3.00);
            var square   = new Block("Square", (decimal)1.00);
            var triangle = new Block("Triangle", (decimal)2.00);

            var productsList = new List <OrderItem>
            {
                new OrderItem(circle, red),
                new OrderItem(circle, yellow),
                new OrderItem(circle, blue),
                new OrderItem(square, red),
                new OrderItem(square, yellow),
                new OrderItem(square, blue),
                new OrderItem(triangle, red),
                new OrderItem(triangle, yellow),
                new OrderItem(triangle, blue)
            };

            var inputReader         = new MockInputReader(standardCSVHeaders, csvBodyWithOneOrder);
            var orderInputValidator = new OrderInputValidator();
            var orderTaker          = new CSVOrderTaker(inputReader, productsList, orderInputValidator);

            var orders = orderTaker.CreateOrder();
            var result = orders[0];

            Assert.Equal(9, result.OrderItems.Count());
            Assert.Equal(1, result.OrderItems.GetQuantityByShapeAndColor(square, red));
            Assert.Equal(2, result.OrderItems.GetQuantityByShapeAndColor(square, blue));
            Assert.Equal(3, result.OrderItems.GetQuantityByShapeAndColor(square, yellow));
            Assert.Equal(4, result.OrderItems.GetQuantityByShapeAndColor(triangle, red));
            Assert.Equal(5, result.OrderItems.GetQuantityByShapeAndColor(triangle, blue));
            Assert.Equal(6, result.OrderItems.GetQuantityByShapeAndColor(triangle, yellow));
            Assert.Equal(7, result.OrderItems.GetQuantityByShapeAndColor(circle, red));
            Assert.Equal(8, result.OrderItems.GetQuantityByShapeAndColor(circle, blue));
            Assert.Equal(9, result.OrderItems.GetQuantityByShapeAndColor(circle, yellow));
        }
Exemple #4
0
 public InputValidatorTest()
 {
     _validator = new OrderInputValidator();
 }