コード例 #1
0
        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);
        }
コード例 #2
0
        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);
        }