示例#1
0
        public void Invalid_Expression_Bool_Function()
        {
            Person person = new Person();

            Exception ex = Assert.Throws <ArgumentException>(() => sql.Op(() => !CustomExp.Invalid(person.Id)));

            Assert.Equal("Invalid expression.", ex.Message);
        }
示例#2
0
        public void Expression_Bool_Function()
        {
            ExpressionProcessor.AddFunction(typeof(CustomExp), nameof(CustomExp.IsNumeric));

            Person    person = null;
            IOperator op     = sql.Op(() => !CustomExp.IsNumeric(person.Id));

            QueryResult result = engine.Compile(op);

            Assert.Equal("NOT ISNUMERIC(\"person\".\"Id\") = @p0", result.Sql);
            Assert.Equal(new Dictionary <string, object>
            {
                ["@p0"] = true
            }, result.Parameters);
        }