コード例 #1
0
        public void ToWhereSql_Contains_SqlIsCorrect()
        {
            var parameters    = new Fakes.DataParameterCollection();
            var dbCommandMock = new Mock <IDbCommand> {
                DefaultValue = DefaultValue.Mock
            };

            dbCommandMock.SetupGet(command => command.Parameters).Returns(parameters);
            dbCommandMock.Setup(command => command.CreateParameter()).Returns(() => Mock.Of <IDbDataParameter>());
            var dbCommand = dbCommandMock.Object;

            var whereExpression =
                (Expression <Func <CustomExpression, bool> >)(model => model.MyStringAttribute.Contains("Test"));
            var whereSql = SqlExtension.ToWhereSql(whereExpression, dbCommand);

            Assert.AreEqual("mystringattribute LIKE '%' + @mystringattribute + '%'", whereSql);
        }
コード例 #2
0
        public void ToWhereSql_EqualsStringValue_HasParameter()
        {
            var parameters    = new Fakes.DataParameterCollection();
            var dbCommandMock = new Mock <IDbCommand> {
                DefaultValue = DefaultValue.Mock
            };

            dbCommandMock.SetupGet(command => command.Parameters).Returns(parameters);
            dbCommandMock.Setup(command => command.CreateParameter()).Returns(() => Mock.Of <IDbDataParameter>());
            var dbCommand = dbCommandMock.Object;

            SqlExtension.ToWhereSql((Expression <Func <CustomExpression, bool> >)(model => model.MyStringAttribute == "Value"), dbCommand);

            Assert.IsTrue(dbCommand.Parameters.Contains("@mystringattribute"));
            Assert.AreEqual("Value", (dbCommand.Parameters["@mystringattribute"] as IDbDataParameter).Value);
            Assert.AreEqual(DbType.String, (dbCommand.Parameters["@mystringattribute"] as IDbDataParameter).DbType);
        }