Example #1
0
        public void FromFunctionTest()
        {
            ISqlFunction function = new SqlFunction("SUM");

            function.AddArgument(new SqlStringExpression("1"));
            function.AddArgument(new SqlStringExpression("2"));
            ISqlObject obj = SqlObject.FromFunction(function);

            Assert.AreEqual <string>(function.SqlString, obj.Fullname);
            Assert.AreEqual <string>(function.SqlString, obj.SqlString);
        }
        public void OracleFieldConstructorTest_Function()
        {
            ISqlFunction function = new SqlFunction("SUM");

            function.AddArgument(new SqlStringExpression("1"));
            function.AddArgument(new SqlStringExpression("2"));
            ISqlObject field = new OracleField(function, "Total");

            Assert.AreEqual <string>(string.Format("\"{0}\"", field.Name.ToUpper()), field.Fullname);
            Assert.AreEqual <string>(string.Format("{0} \"{1}\"", function.SqlString, field.Name.ToUpper()), field.SqlString);
        }
Example #3
0
        public void MySqlFieldConstructorTest_Function()
        {
            ISqlFunction function = new SqlFunction("SUM");

            function.AddArgument(new SqlStringExpression("1"));
            function.AddArgument(new SqlStringExpression("2"));
            ISqlObject field = new MySqlField(function, "Total");

            Assert.AreEqual <string>(string.Format("`{0}`", field.Name), field.Fullname);
            Assert.AreEqual <string>(string.Format("{0} AS `{1}`", function.SqlString, field.Name), field.SqlString);
        }
Example #4
0
        public void AddArgumentTest_One()
        {
            SqlFunction    target   = new SqlFunction("ADD");
            ISqlExpression argument = new SqlStringExpression("13");

            target.AddArgument(argument);
            Assert.AreEqual <string>(string.Format("{0}({1})", target.Name, argument.SqlString), target.SqlString);
        }
Example #5
0
        public void AddArgumentTest_Field_Distinct()
        {
            SqlFunction target = new SqlFunction("COUNT");
            ISqlObject  field  = new SqlServerField(new SqlServerSource("Table"), "ID", null);

            target.AddArgument(field, true);
            Assert.AreEqual <string>(string.Format("{0}(DISTINCT {1})", target.Name, field.Fullname), target.SqlString);
        }
Example #6
0
        public void AddArgumentTest_More()
        {
            SqlFunction    target    = new SqlFunction("SUM");
            ISqlExpression argument0 = new SqlStringExpression("13");
            ISqlExpression argument1 = new SqlStringExpression("14");

            target.AddArgument(argument0, argument1);
            Assert.AreEqual <string>(string.Format("{0}({1}, {2})", target.Name, argument0.SqlString, argument1.SqlString), target.SqlString);
        }
Example #7
0
        public void RemoveArgumentTest()
        {
            SqlFunction    target    = new SqlFunction("ADD");
            ISqlExpression argument0 = new SqlStringExpression("13");
            ISqlExpression argument1 = new SqlStringExpression("14");
            ISqlExpression argument2 = new SqlStringExpression("15");

            target.AddArgument(argument0, argument1, argument2);
            Assert.AreEqual <string>(string.Format("{0}({1}, {2}, {3})", target.Name, argument0.SqlString, argument1.SqlString, argument2.SqlString), target.SqlString);
            target.RemoveArgument(argument2);
            Assert.AreEqual <string>(string.Format("{0}({1}, {2})", target.Name, argument0.SqlString, argument1.SqlString), target.SqlString);
        }
Example #8
0
        public void AddArgumentTest_Parametric()
        {
            SqlFunction    target    = new SqlFunction("SUM");
            ISqlExpression argument0 = SqlStringExpression.FromParameter(new SqlParameter("@p0", 13));
            ISqlExpression argument1 = SqlStringExpression.FromParameter(new SqlParameter("@p1", 14));

            target.AddArgument(argument0, argument1);
            Assert.AreEqual <string>(string.Format("{0}({1}, {2})", target.Name, argument0.SqlString, argument1.SqlString), target.SqlString);
            Assert.IsTrue(target.Parameters.Count == 2);
            Assert.IsTrue(target.Parameters.Contains(argument0.Parameters[0]));
            Assert.IsTrue(target.Parameters.Contains(argument1.Parameters[0]));
        }