コード例 #1
0
        public void GetNullableDateTime_Should_Return_Null_When_IsDbNull_Returns_True()
        {
            var mockDataReader = new Mock <IDataReader>();

            mockDataReader.Setup(x => x.GetOrdinal("datetime")).Returns(11);
            mockDataReader.Setup(x => x.IsDBNull(11)).Returns(true);
            mockDataReader.Setup(x => x.GetDateTime(11));

            var sut    = new OptimizedDataReader(mockDataReader.Object);
            var result = sut.GetNullableDateTime("datetime");

            Assert.Null(result);
            mockDataReader.Verify(x => x.GetOrdinal("datetime"), Times.Once);
            mockDataReader.Verify(x => x.IsDBNull(11), Times.Once);
            mockDataReader.Verify(x => x.GetDateTime(11), Times.Never);
        }
コード例 #2
0
        public void GetNullableDateTime_Should_Return_Value_When_IsDbNull_Returns_False()
        {
            var fakeDateTimeResult = new DateTime(2016, 9, 12, 22, 0, 0);
            var mockDataReader     = new Mock <IDataReader>();

            mockDataReader.Setup(x => x.GetOrdinal("datetime")).Returns(11);
            mockDataReader.Setup(x => x.IsDBNull(11)).Returns(false);
            mockDataReader.Setup(x => x.GetDateTime(11)).Returns(fakeDateTimeResult);

            var sut    = new OptimizedDataReader(mockDataReader.Object);
            var result = sut.GetNullableDateTime("datetime");

            Assert.Equal(fakeDateTimeResult, result);
            mockDataReader.Verify(x => x.GetOrdinal("datetime"), Times.Once);
            mockDataReader.Verify(x => x.IsDBNull(11), Times.Once);
            mockDataReader.Verify(x => x.GetDateTime(11), Times.Once);
        }