public void Date_Only_DateTimeField_Does_Not_Change_DateTimeKind_While_Getting_From_Data_Reader() { DateTime testDate = DateTime.MinValue; var reader = A.Fake <IDataReader>(); A.CallTo(() => reader.IsDBNull(0)).Returns(false); A.CallTo(() => reader.GetDateTime(0)).ReturnsLazily(() => testDate); A.CallTo(() => reader.GetValue(0)).ReturnsLazily(() => testDate); testDate = DateTime.Today; var dateOnlyRow = new DateTimeTestRow(); DateTimeTestRow.Fields.Date.GetFromReader(reader, 0, dateOnlyRow); Assert.NotNull(dateOnlyRow.Date); Assert.Equal(testDate.Kind, dateOnlyRow.Date.Value.Kind); Assert.Equal(testDate, dateOnlyRow.Date.Value); testDate = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Unspecified); var unspecifiedRow = new DateTimeTestRow(); DateTimeTestRow.Fields.Date.GetFromReader(reader, 0, unspecifiedRow); Assert.NotNull(unspecifiedRow.Date); Assert.Equal(testDate.Kind, unspecifiedRow.Date.Value.Kind); Assert.Equal(testDate, unspecifiedRow.Date.Value); testDate = DateTime.Now; var localRow = new DateTimeTestRow(); DateTimeTestRow.Fields.Date.GetFromReader(reader, 0, localRow); Assert.NotNull(localRow.Date); Assert.Equal(testDate.Kind, localRow.Date.Value.Kind); Assert.Equal(testDate, localRow.Date.Value); testDate = DateTime.UtcNow; var utcRow = new DateTimeTestRow(); DateTimeTestRow.Fields.Date.GetFromReader(reader, 0, utcRow); Assert.NotNull(utcRow.Date); Assert.Equal(testDate.Kind, utcRow.Date.Value.Kind); Assert.Equal(testDate, utcRow.Date.Value); }
public void Utc_DateTimeField_Specifies_DateTimeKind_As_Utc_While_Getting_From_Data_Reader() { DateTime testDate = DateTime.MinValue; var reader = A.Fake <IDataReader>(); A.CallTo(() => reader.IsDBNull(0)).Returns(false); A.CallTo(() => reader.GetDateTime(0)).ReturnsLazily(() => testDate); A.CallTo(() => reader.GetValue(0)).ReturnsLazily(() => testDate); testDate = DateTime.Today; var dateOnlyRow = new DateTimeTestRow(); DateTimeTestRow.Fields.Utc.GetFromReader(reader, 0, dateOnlyRow); Assert.NotNull(dateOnlyRow.Utc); Assert.Equal(DateTimeKind.Utc, dateOnlyRow.Utc.Value.Kind); Assert.Equal(DateTime.SpecifyKind(testDate, DateTimeKind.Utc), dateOnlyRow.Utc.Value); testDate = DateTime.SpecifyKind(DateTime.Now, DateTimeKind.Unspecified); var unspecifiedRow = new DateTimeTestRow(); DateTimeTestRow.Fields.Utc.GetFromReader(reader, 0, unspecifiedRow); Assert.NotNull(unspecifiedRow.Utc); Assert.Equal(DateTimeKind.Utc, unspecifiedRow.Utc.Value.Kind); Assert.Equal(DateTime.SpecifyKind(testDate, DateTimeKind.Utc), unspecifiedRow.Utc.Value); testDate = DateTime.Now; var UtcRow = new DateTimeTestRow(); DateTimeTestRow.Fields.Utc.GetFromReader(reader, 0, UtcRow); Assert.NotNull(UtcRow.Utc); Assert.Equal(DateTimeKind.Utc, UtcRow.Utc.Value.Kind); Assert.Equal(DateTime.SpecifyKind(testDate, DateTimeKind.Utc), UtcRow.Utc.Value); testDate = DateTime.UtcNow; var utcRow = new DateTimeTestRow(); DateTimeTestRow.Fields.Utc.GetFromReader(reader, 0, utcRow); Assert.NotNull(utcRow.Utc); Assert.Equal(DateTimeKind.Utc, utcRow.Utc.Value.Kind); Assert.Equal(DateTime.SpecifyKind(testDate, DateTimeKind.Utc), utcRow.Utc.Value); }