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)); }
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); }
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)); }
public InputValidatorTest() { _validator = new OrderInputValidator(); }