[DataRow(2017, 6, 15, 0, 0, 0, "", "42901")] // An OLE Automation date (You see these when converting Excel dates to regular dates)
        public void GetReadData_CanConvertDatesWithFormat_ValuesConverted(
            int expectedYear, int expectedMonth, int expectedDay,
            int expectedHour, int expectedMinute, int expectedSeconds,
            string dateParseExactFormat, string inputData)
        {
            // Arrange
            var attribute = new CsvConverterDateTimeAttribute();

            attribute.StringFormat = dateParseExactFormat;

            var cut = new CsvConverterDefaultDateTime();

            cut.Initialize(attribute, new DefaultTypeConverterFactory());

            // Act
            DateTime actual = (DateTime)cut.GetReadData(typeof(DateTime), inputData, "Column1", 1, 1);

            // Assert
            Assert.AreEqual(expectedYear, actual.Year);
            Assert.AreEqual(expectedMonth, actual.Month);
            Assert.AreEqual(expectedDay, actual.Day);
            Assert.AreEqual(expectedHour, actual.Hour);
            Assert.AreEqual(expectedMinute, actual.Minute);
            Assert.AreEqual(expectedSeconds, actual.Second);
        }
        public void GetReadData_CannotHandleNonDateStrings_ThrowsException(string inputData)
        {
            // Arrange
            var cut = new CsvConverterDefaultDateTime();

            cut.Initialize(null, new DefaultTypeConverterFactory());

            // Act
            DateTime actual = (DateTime)cut.GetReadData(typeof(DateTime), inputData, "Column1", 1, 1);

            // Assert
            Assert.Fail("Exception should be thrown when invalid values are passed into the parser!");
        }