[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!"); }
// [DataRow(2018, 5, 2, 9, 51, 2, "m", "May 2")] // Differs from Windows 7 (May 02) to Windows 10 (May 2) public void ConvertGetWriteData_CanConvertNullableDateTime_DateTimeConverted( int year, int month, int day, int hour, int minute, int second, string dateFormat, string expectedData) { // Arrange DateTime?inputValue = year > 0 ? new DateTime(year, month, day, hour, minute, second) : (DateTime?)null; var cut = new CsvConverterDefaultDateTime(); cut.DateFormat = dateFormat; // Act string actualData = cut.GetWriteData(typeof(DateTime?), inputValue, "Column1", 1, 1); // Assert Assert.AreEqual(expectedData, actualData); }