public void OracleFieldConstructorTest_Variable()
        {
            string     variable = "@@error";
            ISqlObject field    = new OracleField(variable, "Error");

            Assert.AreEqual <string>(string.Format("\"{0}\"", field.Name.ToUpper()), field.Fullname);
            Assert.AreEqual <string>(string.Format("{0} \"{1}\"", variable, field.Name.ToUpper()), field.SqlString);
        }
        public void OracleFieldConstructorTest_FieldName()
        {
            ISqlObject source = new OracleSource("Table");
            ISqlObject field  = new OracleField(source, "Field");

            Assert.AreEqual <string>(string.Format("{0}.\"{1}\"", source.Fullname, field.Name.ToUpper()), field.Fullname);
            Assert.AreEqual <string>(string.Format("{0}.\"{1}\"", source.Fullname, field.Name.ToUpper()), field.SqlString);
        }
        public void OracleFieldConstructorTest_FieldAlias()
        {
            ISqlObject     source = new OracleSource("Table");
            SqlAliasObject field  = new OracleField(source, "Field", "ID");

            Assert.AreEqual <string>(field.Object.Fullname, field.Fullname);
            Assert.AreEqual <string>(string.Format("{0} AS \"{1}\"", field.Object.SqlString, field.Alias.ToUpper()), field.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);
        }
        public void CountTest()
        {
            ISqlObject            source = new OracleSource("Table");
            ISqlObject            field  = new OracleField(source, "ID");
            OracleSelectStatement target = new OracleSelectStatement();

            target.SelectClause.AddExpressions(field);
            target.FromClause.Source     = source;
            target.WhereClause.Condition = field.GreaterThan(new SqlStringExpression("13"));
            target.OrderClause.AddExpression(field, SqlOrder.Desc);
            string sqlString = target.SqlString;

            target.Count = 13;
            ISqlObject rowNumber = SqlObject.FromVariable("ROWNUM");

            Assert.AreEqual <string>(string.Format("SELECT * FROM ({1}) {0} WHERE {2} ORDER BY {3} ASC", new OracleSource(OracleSelectStatement.MIDDLE_RESULT_NAME), sqlString, rowNumber.GreaterEqual(new SqlStringExpression(target.Count.ToString())), rowNumber.Fullname),
                                     target.SqlString);
        }