public void Val()
        {
            Person person = new Person();

            Exception ex = Assert.Throws <InvalidOperationException>(() => SqlExp.Val(person.Id));

            Assert.Equal("Only for expressions.", ex.Message);
        }
예제 #2
0
        public object Coalesce_Operator_Value()
        {
            Person person = new Person()
            {
                Name = null
            };

            return(sql.Val(() => SqlExp.Val(person.Name ?? "abcd")));
        }
예제 #3
0
        public object Conditional_Operator_Value()
        {
            Person person = new Person()
            {
                Name = null, SurName = "efgh"
            };

            return(sql.Val(() => SqlExp.Val(person.Name != null ? person.SurName : "abcd")));
        }
예제 #4
0
        public object Bit_Operator_Value()
        {
            Person person = new Person()
            {
                Id = 1
            };

            return(sql.Val(() => SqlExp.Val(person.Id & 2)));
        }
예제 #5
0
        public object Arith_Operator_Value_Overload()
        {
            Person person = new Person()
            {
                Salary = 1000
            };

            return(sql.Val(() => SqlExp.Val(person.Salary + 200m)));
        }
예제 #6
0
        public object Comparison_Operator_Value()
        {
            Person person = new Person()
            {
                Id = 1
            };

            return(sql.Val(() => SqlExp.Val(person.Id == 1)));
        }
예제 #7
0
파일: ValTest.cs 프로젝트: Ropticus/Suilder
        public void Alias_Value()
        {
            Person person = new Person()
            {
                Id = 1
            };

            Assert.Equal(person.Id, sql.Val(() => SqlExp.Val(person.Id)));
        }
예제 #8
0
파일: ValTest.cs 프로젝트: Ropticus/Suilder
        public void Not_Operator(bool value)
        {
            Person person = new Person()
            {
                Active = value
            };

            Assert.Equal(!person.Active, sql.Val(() => SqlExp.Val(!person.Active)));
        }
예제 #9
0
        public object Alias_Value()
        {
            Person person = new Person()
            {
                Id = 1
            };

            return(sql.Val(() => SqlExp.Val(person.Id)));
        }
예제 #10
0
파일: ValTest.cs 프로젝트: Ropticus/Suilder
        public void Coalesce_Operator_Value(string name, string value)
        {
            Person person = new Person()
            {
                Name = name
            };

            Assert.Equal(person.Name ?? value, sql.Val(() => SqlExp.Val(person.Name ?? value)));
        }
예제 #11
0
파일: ValTest.cs 프로젝트: Ropticus/Suilder
        public void Modulo_Operator_Value_Overload_Convert(int value)
        {
            Person person = new Person()
            {
                Salary = 1000
            };

            Assert.Equal(person.Salary % value, sql.Val(() => SqlExp.Val(person.Salary % value)));
        }
예제 #12
0
파일: ValTest.cs 프로젝트: Ropticus/Suilder
        public void BitXor_Operator_Value(int value)
        {
            Person person = new Person()
            {
                Id = 1
            };

            Assert.Equal(person.Id ^ value, sql.Val(() => SqlExp.Val(person.Id ^ value)));
        }
예제 #13
0
파일: ValTest.cs 프로젝트: Ropticus/Suilder
        public void Divide_Operator_Value_Overload(decimal value)
        {
            Person person = new Person()
            {
                Salary = 1000
            };

            Assert.Equal(person.Salary / value, sql.Val(() => SqlExp.Val(person.Salary / value)));
        }
예제 #14
0
파일: ValTest.cs 프로젝트: Ropticus/Suilder
        public void Add_Operator_Value_String(string value)
        {
            Person person = new Person()
            {
                Name = "abcd"
            };

            Assert.Equal(person.Name + value, sql.Val(() => SqlExp.Val(person.Name + value)));
        }
예제 #15
0
파일: ValTest.cs 프로젝트: Ropticus/Suilder
        public void Conditional_Operator_Value(string name, string value)
        {
            Person person = new Person()
            {
                Name = name, SurName = name
            };

            Assert.Equal(person.Name != null ? person.SurName : value,
                         sql.Val(() => SqlExp.Val(person.Name != null ? person.SurName : value)));
        }
예제 #16
0
파일: ValTest.cs 프로젝트: Ropticus/Suilder
        public void OrElse_Operator_Value(int id, string name)
        {
            Person person = new Person()
            {
                Id = 1, Name = "abcd"
            };

            Assert.Equal(person.Id == id || person.Name == name,
                         sql.Val(() => SqlExp.Val(person.Id == id || person.Name == name)));
        }
예제 #17
0
        public object Nested_Alias_Value()
        {
            Person person = new Person()
            {
                Department = new Department()
                {
                    Id = 1
                }
            };

            return(sql.Val(() => SqlExp.Val(person.Department.Id)));
        }
예제 #18
0
파일: ValTest.cs 프로젝트: Ropticus/Suilder
        public void Nested_Alias_Value()
        {
            Person person = new Person()
            {
                Department = new Department()
                {
                    Id = 1
                }
            };

            Assert.Equal(person.Department.Id, sql.Val(() => SqlExp.Val(person.Department.Id)));
        }
예제 #19
0
        public void Val_Method()
        {
            Person person      = null;
            Person personValue = new Person()
            {
                Name = "abcd"
            };
            IOperator op = (IOperator)sql.Op(() => person.Active == SqlExp.Val(personValue.Name.Contains("bc")));

            QueryResult result = engine.Compile(op);

            Assert.Equal("\"person\".\"Active\" = @p0", result.Sql);
            Assert.Equal(new Dictionary <string, object>
            {
                ["@p0"] = personValue.Name.Contains("bc")
            }, result.Parameters);
        }
예제 #20
0
        public void Val_Alias()
        {
            Person person      = null;
            Person personValue = new Person()
            {
                Id = 1
            };
            IOperator op = (IOperator)sql.Op(() => person.Id == SqlExp.Val(personValue.Id));

            QueryResult result = engine.Compile(op);

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