public void SetupTest()
 {
     _sqlFormatter = new SqlFormatter("[", "]", "TOP", "");
     DatabaseConnection.CurrentConnection = new DatabaseConnectionStub();
     ClassDef.ClassDefs.Clear();
    // new Address();
 }
Example #2
0
 public void TestDelimitTable()
 {
     //-------------Setup Test Pack ------------------
     const string leftDelimiter = "LEFT_DELIMIT";
     const string rightDelimiter = "RIGHT_DELIMIT";
     SqlFormatter sqlFormatter = new SqlFormatter(leftDelimiter, rightDelimiter,"","");
     const string tableName = "MY_TABLE";
     //-------------Execute test ---------------------
     string delimitedField = sqlFormatter.DelimitTable(tableName);
     //-------------Test Result ----------------------
     Assert.AreEqual(String.Format("{0}{1}{2}", leftDelimiter, tableName, rightDelimiter), delimitedField);
 }
Example #3
0
        public void TestCreateSqlFormatter()
        {
            //-------------Setup Test Pack ------------------
            const string leftFieldDelimiter = "LEFT_DELIMIT";
            const string rightFieldDelimiter = "RIGHT_DELIMIT";
            //-------------Execute test ---------------------
            SqlFormatter sqlFormatter = new SqlFormatter(leftFieldDelimiter, rightFieldDelimiter, "","");

            //-------------Test Result ----------------------
            Assert.AreEqual(leftFieldDelimiter, sqlFormatter.LeftFieldDelimiter);
            Assert.AreEqual(rightFieldDelimiter, sqlFormatter.RightFieldDelimiter);
        }
        public void GetFormattedStringWith_WhenConstructedWithNoField_ReturnsFormattedSQLString()
        {
            //---------------Set up test pack-------------------
            var sut = Create();
            var formatter = new SqlFormatter("[", "]", "", "");
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var result = sut.GetFormattedStringWith(formatter, EmptyAliases());

            //---------------Test Result -----------------------
            Assert.AreEqual("count(*)", result);
        }
Example #5
0
 public void Test_DelimitTable_WithSchemaPrefix_ShouldReturnWellFormattedDelimiters()
 {
     //-------------Setup Test Pack ------------------
     const string leftDelimiter = "[";
     const string rightDelimiter = "]";
     const string expected = "[MY_SCHEMA].[MY_TABLE]";
     SqlFormatter sqlFormatter = new SqlFormatter(leftDelimiter, rightDelimiter, "", "");
     const string tableName = "MY_SCHEMA.MY_TABLE";
     //-------------Execute test ---------------------
     string delimitedField = sqlFormatter.DelimitTable(tableName);
     
     //-------------Test Result ----------------------
     Assert.AreEqual(expected, delimitedField);
 }
        public void GetFormattedStringWith_ParameterIsString_ShouldQuoteParameter(string left, string right)
        {
            //---------------Set up test pack-------------------
            var sut = Create(CreateQueryFieldFor("SomeColumn"));
            var formatter = new SqlFormatter(left, right, "", "");
            var expected = string.Join("", new[] { "count(", left, "SomeColumn", right, ")" });
            
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var result = sut.GetFormattedStringWith(formatter, EmptyAliases());

            //---------------Test Result -----------------------
            Assert.AreEqual(expected, result);
        }
 /// <summary>
 /// Constructor that initialises a new set of null connections
 /// </summary>
 protected DatabaseConnection()
 {
     _connections = new List<IDbConnection>(5);
     _sqlFormatter = new SqlFormatter("[", "]", "TOP", "");
 }
Example #8
0
        public void Test_PrepareValue_WithTimeSpan_WhenHasDays_ShouldReturnDateTime()
        {
            //---------------Set up test pack-------------------
            SqlFormatter sqlFormatter = new SqlFormatter("", "", "", "");
            var value = new TimeSpan(1,23,59,59,999);
            //---------------Assert Precondition----------------
            //---------------Execute Test ----------------------
			object preparedValue = sqlFormatter.PrepareValue(value);
            //---------------Test Result -----------------------
        	var expected = new DateTime(1900,1,2,23,59,59,999);
			Assert.AreEqual(expected, preparedValue, "PrepareValue is not preparing timespans correctly.");
        }
 /// <summary>
 /// Constructor to initialise the connection object with an
 /// assembly name, class name and connection string
 /// </summary>
 /// <param name="assemblyName">The assembly name</param>
 /// <param name="className">The class name</param>
 /// <param name="connectString">The connection string, which can be
 /// generated using ConnectionStringSqlServerFactory.CreateConnectionString()
 /// </param>
 public DatabaseConnectionSQLite(string assemblyName, string className, string connectString)
     : base(assemblyName, className, connectString)
 {
     _sqlFormatter = new SqlFormatter("\"", "\"", "", "limit");
 } 
Example #10
0
 public void Test_CreateSQL_LoadWithLimit_AtEnd_PaginatedFind_HasCorrectFieldNames_WithDelimiters()
 {
     //---------------Set up test pack-------------------
     DatabaseConnection.CurrentConnection = new DatabaseConnectionStub();
     IClassDef classDef = ContactPersonTestBO.LoadDefaultClassDef();
     ISelectQuery selectQuery = QueryBuilder.CreateSelectQuery(classDef);
     selectQuery.FirstRecordToLoad = 3;
     selectQuery.Limit = 5;
     selectQuery.OrderCriteria = OrderCriteria.FromString("Surname");
     SelectQueryDB query = new SelectQueryDB(selectQuery, DatabaseConnection.CurrentConnection);
     SqlFormatter sqlFormatter = new SqlFormatter("[", "]", "", "LIMIT");
     //---------------Assert Precondition----------------
     Assert.AreEqual(3, selectQuery.FirstRecordToLoad);
     Assert.AreEqual(5, selectQuery.Limit);
     //---------------Execute Test ----------------------
     ISqlStatement statement = query.CreateSqlStatement(sqlFormatter);
     string actualStatement = statement.Statement.ToString();
     //---------------Test Result -----------------------
     const string expectedFirstSelect = "(SELECT a1.[ContactPersonID], a1.[Surname_field], a1.[FirstName_field], a1.[DateOfBirth] FROM [contact_person] a1 ORDER BY a1.[Surname_field] ASC LIMIT 8) As [FirstSelect]";
     StringAssert.Contains(expectedFirstSelect, actualStatement);
     string expectedSecondSelect = string.Format("(SELECT [FirstSelect].[ContactPersonID], [FirstSelect].[Surname_field], [FirstSelect].[FirstName_field], [FirstSelect].[DateOfBirth] FROM {0} ORDER BY [FirstSelect].[Surname_field] DESC LIMIT 5) As [SecondSelect]", expectedFirstSelect);
     StringAssert.Contains(expectedSecondSelect, actualStatement);
     string expectedMainSelect = string.Format("SELECT [SecondSelect].[ContactPersonID], [SecondSelect].[Surname_field], [SecondSelect].[FirstName_field], [SecondSelect].[DateOfBirth] FROM {0} ORDER BY [SecondSelect].[Surname_field] ASC", expectedSecondSelect);
     Assert.AreEqual(expectedMainSelect, actualStatement);
 }
Example #11
0
 public void Test_CreateSQL_ShouldUseAliasesInCriteria_WhenNotCriteria()
 {
     //---------------Set up test pack-------------------
     SelectQuery selectQuery = new SelectQuery();
     const string sourceName = "mysource";
     var source1 = new Source(sourceName);
     selectQuery.Source = source1;
     Source field1Source = source1;
     QueryField field1 = new QueryField("testfield", "testfield", field1Source);
     selectQuery.Fields.Add(field1.FieldName, field1);
     selectQuery.Criteria = new Criteria(
         null,
             Criteria.LogicalOp.Not,
         new Criteria(field1, Criteria.ComparisonOp.Is, null));
     
     SelectQueryDB query = new SelectQueryDB(selectQuery, DatabaseConnection.CurrentConnection);
     SqlFormatter sqlFormatter = new SqlFormatter("[", "]", "", "LIMIT");
     //---------------Execute Test ----------------------
     ISqlStatement statement = query.CreateSqlStatement(sqlFormatter);
     //---------------Test Result -----------------------
     StringAssert.AreEqualIgnoringCase("SELECT a1.[testfield] FROM [mysource] a1 WHERE NOT (a1.[testfield] IS NULL)", statement.Statement.ToString());
 }
Example #12
0
 public DatabaseConnectionStub(SqlFormatter sqlFormatter)
     : base("MySql.Data", "MySql.Data.MySqlClient.MySqlConnection")
 {
     _sqlFormatter = sqlFormatter;
 }
Example #13
0
 public void Test_CreateSQL_LoadWithLimit_PaginatedFind_HasCorrectFieldNames()
 {
     //---------------Set up test pack-------------------
     DatabaseConnection.CurrentConnection = new DatabaseConnectionStub();
     IClassDef classDef = ContactPersonTestBO.LoadDefaultClassDef();
     ISelectQuery selectQuery = QueryBuilder.CreateSelectQuery(classDef);
     selectQuery.FirstRecordToLoad = 3;
     selectQuery.Limit = 5;
     selectQuery.OrderCriteria = OrderCriteria.FromString("Surname");
     SelectQueryDB query = new SelectQueryDB(selectQuery, DatabaseConnection.CurrentConnection);
     SqlFormatter sqlFormatter = new SqlFormatter("", "", "TOP", "");
     //---------------Assert Precondition----------------
     Assert.AreEqual(3, selectQuery.FirstRecordToLoad);
     Assert.AreEqual(5, selectQuery.Limit);
     //---------------Execute Test ----------------------
     ISqlStatement statement = query.CreateSqlStatement(sqlFormatter);
     string actualStatement = statement.Statement.ToString();
     //---------------Test Result -----------------------
     const string expectedFirstSelect = "(SELECT TOP 8 a1.ContactPersonID, a1.Surname_field, a1.FirstName_field, a1.DateOfBirth FROM contact_person a1 ORDER BY a1.Surname_field ASC) As FirstSelect";
     StringAssert.Contains(expectedFirstSelect, actualStatement);
     string expectedSecondSelect = string.Format("(SELECT TOP 5 FirstSelect.ContactPersonID, FirstSelect.Surname_field, FirstSelect.FirstName_field, FirstSelect.DateOfBirth FROM {0} ORDER BY FirstSelect.Surname_field DESC ) As SecondSelect", expectedFirstSelect);
     StringAssert.Contains(expectedSecondSelect, actualStatement);
     string expectedMainSelect = string.Format("SELECT SecondSelect.ContactPersonID, SecondSelect.Surname_field, SecondSelect.FirstName_field, SecondSelect.DateOfBirth FROM {0} ORDER BY SecondSelect.Surname_field ASC", expectedSecondSelect);
     Assert.AreEqual(expectedMainSelect, actualStatement);
 }
Example #14
0
        public void TestCreateSqlStatement_WithLimit_AtBeginning()
        {
            //---------------Set up test pack-------------------
//            DatabaseConnection.CurrentConnection = new DatabaseConnectionStub_LimitClauseAtBeginning();
            SelectQuery selectQuery = new SelectQuery {Limit = 10};
            const string fieldName = "Field1";
            selectQuery.Fields.Add(fieldName, new QueryField(fieldName, fieldName, null));
            selectQuery.Source = new Source("Table1");
            SelectQueryDB query = new SelectQueryDB(selectQuery, DatabaseConnection.CurrentConnection);
            SqlFormatter sqlFormatter = new SqlFormatter("", "", "TOP ROWS", "");
            //---------------Execute Test ----------------------
            ISqlStatement statement = query.CreateSqlStatement(sqlFormatter);
            //---------------Test Result -----------------------
            string statementString = statement.Statement.ToString();
            StringAssert.StartsWith("SELECT TOP ROWS 10 ", statementString);
            //---------------Tear Down -------------------------
        }
Example #15
0
        public void Test_CreateSQL_ShouldUseAliasesInOrderByClause_WhenOrderByFieldSourceIsSpecified()
        {
            //---------------Set up test pack-------------------
            SelectQuery selectQuery = new SelectQuery();
            var mysource = new Source("mysource");
            selectQuery.Source = mysource;

            QueryField fieldOnMySource = new QueryField("testfield", "testfield", mysource);
            selectQuery.Fields.Add(fieldOnMySource.FieldName, fieldOnMySource);

            var orderCriteriaField = OrderCriteriaField.FromString("testfield");
            orderCriteriaField.Source = mysource;

            selectQuery.OrderCriteria = new OrderCriteria();
            selectQuery.OrderCriteria.Add(orderCriteriaField);
            SelectQueryDB query = new SelectQueryDB(selectQuery, DatabaseConnection.CurrentConnection);
            SqlFormatter sqlFormatter = new SqlFormatter("[", "]", "", "LIMIT");
            //---------------Execute Test ----------------------
            ISqlStatement statement = query.CreateSqlStatement(sqlFormatter);
            //---------------Test Result -----------------------
            StringAssert.AreEqualIgnoringCase(
                "SELECT a1.[testfield] FROM [mysource] a1 ORDER BY a1.[testfield] ASC", statement.Statement.ToString());
        }
Example #16
0
        public void Test_GetLimitClauseForEnd()
        {
            //---------------Set up test pack-------------------
            const string limitClauseAtEnd = "LIMIT";
            SqlFormatter sqlFormatter = new SqlFormatter("", "", "", limitClauseAtEnd);
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            string limitClauseForEnd = sqlFormatter.GetLimitClauseCriteriaForEnd(10);
            //---------------Test Result -----------------------
            const string expectedLimitClauseForEnd = limitClauseAtEnd + " 10";
            Assert.AreEqual(expectedLimitClauseForEnd, limitClauseForEnd);
        }
        public void GetFormattedStringWith_WhenConstructedWithQueryFieldWithTableName_ShouldReturnCorrectString(string left, string right)
        {
            //---------------Set up test pack-------------------
            var queryField = new QueryField("property", "field", new Source("table"));
            var sut = Create(queryField);
            var formatter = new SqlFormatter(left, right, "", "");
            var expected = string.Join("", new[] { "count(", left, "table", right, ".", left, "field", right, ")" });
            var aliases = new Dictionary<string, string>();
            aliases["table"] = "table";
            
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var result = sut.GetFormattedStringWith(formatter, aliases);

            //---------------Test Result -----------------------
            Assert.AreEqual(expected, result);
        }
 /// <summary>
 /// Constructor to initialise the connection object with an
 /// assembly name, class name and connection string
 /// </summary>
 /// <param name="assemblyName">The assembly name</param>
 /// <param name="className">The class name</param>
 /// <param name="connectString">The connection string, which can be
 /// generated using ConnectionStringOracleFactory.CreateConnectionString()
 /// </param>
 public DatabaseConnectionOracle(string assemblyName, string className, string connectString)
     : base(assemblyName, className, connectString)
 {
     _sqlFormatter = new SqlFormatter("", "", "", "ROWNUM <=");
 }
        public void GetFormattedStringWith_WhenConstructedWithQueryFieldWithNoTableName_ShouldReturnCorrectString(string left, string right)
        {
            //---------------Set up test pack-------------------
            var queryField = new QueryField("property", "field", null);
            var sut = Create(queryField);
            var formatter = new SqlFormatter(left, right, "", "");
            var expected = string.Join("", new[] { "count(", left, "field", right, ")" });
            
            //---------------Assert Precondition----------------

            //---------------Execute Test ----------------------
            var result = sut.GetFormattedStringWith(formatter, EmptyAliases());

            //---------------Test Result -----------------------
            Assert.AreEqual(expected, result);
        }
Example #20
0
        public void TestCreateSQL_WithJoin_WithDelimiter()
        {
            //-------------Setup Test Pack ------------------
            Source source = new Source("MySource", "MY_SOURCE");
            Source joinSource = new Source("JoinSource", "MY_JOINED_TABLE");

            Source.Join join = CreateAndAddJoin(source, joinSource);

            SourceDB sourceDB = new SourceDB(source);

            //-------------Execute test ---------------------
            SqlFormatter myFormatter = new SqlFormatter("[", "]", "TOP", "");
            string sql = sourceDB.CreateSQL(myFormatter, CreateAliases(source, joinSource));
            //-------------Test Result ----------------------
            Source.Join.JoinField joinField = join.JoinFields[0];
            string expectedSql = string.Format("([{0}] a1 JOIN [{1}] a2 ON a1.[{2}] = a2.[{3}])", source.EntityName, joinSource.EntityName,
                                               joinField.FromField.FieldName, joinField.ToField.FieldName);
            Assert.AreEqual(expectedSql, sql);
        }
Example #21
0
 public DatabaseConnectionStub_LimitClauseAtBeginning()
 {
     _sqlFormatter = new SqlFormatter("`", "`", "TOP ROWS", "");
 }
Example #22
0
 public void Test_CreateSQL_ShouldUseAliasesInJoins()
 {
     //---------------Set up test pack-------------------
     var mysource = new Source("mysource");
     QueryField fieldOnMySource = new QueryField("testfield", "testfield", mysource);
     Source joinedTableSource = new Source("myjoinedtosource");
     QueryField fieldOnJoinedTableSource = new QueryField("testfield", "testfield", joinedTableSource);
     mysource.Joins.Add(new Source.Join(mysource, joinedTableSource));
     mysource.Joins[0].JoinFields.Add(new Source.Join.JoinField(fieldOnMySource, fieldOnJoinedTableSource));
     SourceDB sourceDB = new SourceDB(mysource);
     SqlFormatter sqlFormatter = new SqlFormatter("[", "]", "", "LIMIT");
     IDictionary<string, string> aliases = new Dictionary<string, string>() { { mysource.ToString(), "a1" }, { joinedTableSource.ToString(), "a2"} };
     //---------------Execute Test ----------------------
     string sql = sourceDB.CreateSQL(sqlFormatter, aliases);
     //---------------Test Result -----------------------
     StringAssert.AreEqualIgnoringCase(
         "([mysource] a1 JOIN [myjoinedtosource] a2 on a1.[testfield] = a2.[testfield])", sql); 
 }
Example #23
0
 public void TestCreateSqlStatement_WithOrder_WithLimit_AtEnd()
 {
     //---------------Set up test pack-------------------
     DatabaseConnection.CurrentConnection = new DatabaseConnectionStub(new SqlFormatter("", "", "", "LIMIT"));
     SelectQuery selectQuery = new SelectQuery {Limit = 10};
     const string fieldName = "Field1";
     selectQuery.Fields.Add(fieldName, new QueryField(fieldName, fieldName, null));
     selectQuery.Source = new Source("Table1");
     selectQuery.OrderCriteria = OrderCriteria.FromString(fieldName);
     SelectQueryDB query = new SelectQueryDB(selectQuery, DatabaseConnection.CurrentConnection);           
     SqlFormatter sqlFormatter = new SqlFormatter("", "", "", "LIMIT");
     //---------------Execute Test ----------------------
     ISqlStatement statement = query.CreateSqlStatement(sqlFormatter);
     //---------------Test Result -----------------------
     string statementString = statement.Statement.ToString();
     StringAssert.EndsWith(" LIMIT 10", statementString);
     //---------------Tear Down -------------------------
 }
 /// <summary>
 /// Constructor to initialise the connection object with an
 /// assembly name, class name and connection string
 /// </summary>
 /// <param name="assemblyName">The assembly name</param>
 /// <param name="className">The class name</param>
 /// <param name="connectString">The connection string, which can be
 /// generated using ConnectionStringMySqlFactory.CreateConnectionString()
 /// </param>
 public DatabaseConnectionFirebird(string assemblyName, string className, string connectString)
     : base(assemblyName, className, connectString)
 {
     _sqlFormatter = new SqlFormatter("", "", "FIRST", "");
 }
Example #25
0
 public void Test_CreateSQL_LoadWithLimit_AtEnd_PaginatedFind()
 {
     //---------------Set up test pack-------------------
     DatabaseConnection.CurrentConnection = new DatabaseConnectionStub();
     IClassDef classDef = MyBO.LoadClassDefs_OneProp();
     ISelectQuery selectQuery = QueryBuilder.CreateSelectQuery(classDef);
     selectQuery.FirstRecordToLoad = 2;
     selectQuery.Limit = 4;
     selectQuery.OrderCriteria = OrderCriteria.FromString("MyBOID");
     SelectQueryDB query = new SelectQueryDB(selectQuery, DatabaseConnection.CurrentConnection);
     SqlFormatter sqlFormatter = new SqlFormatter("", "", "", "LIMIT");
     //---------------Assert Precondition----------------
     Assert.AreEqual(2, selectQuery.FirstRecordToLoad);
     Assert.AreEqual(4, selectQuery.Limit);
     //---------------Execute Test ----------------------
     ISqlStatement statement = query.CreateSqlStatement(sqlFormatter);
     string actualStatement = statement.Statement.ToString();
     //---------------Test Result -----------------------
     const string expectedFirstSelect = "(SELECT a1.MyBoID FROM MyBO a1 ORDER BY a1.MyBOID ASC LIMIT 6) As FirstSelect";
     StringAssert.Contains(expectedFirstSelect, actualStatement);
     string expectedSecondSelect = string.Format("(SELECT FirstSelect.MyBoID FROM {0} ORDER BY FirstSelect.MyBOID DESC LIMIT 4) As SecondSelect", expectedFirstSelect);
     StringAssert.Contains(expectedSecondSelect, actualStatement);
     string expectedMainSelect = string.Format("SELECT SecondSelect.MyBoID FROM {0} ORDER BY SecondSelect.MyBOID ASC", expectedSecondSelect);
     Assert.AreEqual(expectedMainSelect, actualStatement);
 }
 private void SetupSqlFormatter()
 {
     _sqlFormatter = new SqlFormatter("\"", "\"", "FIRST", "");
 }
Example #27
0
        public void Test_CreateSQL_SelectCountQuery_WithCriteria()
        {
            //---------------Set up test pack-------------------
            DatabaseConnection.CurrentConnection = new DatabaseConnectionStub();
            IClassDef classDef = MyBO.LoadDefaultClassDef();
            Criteria criteria = new Criteria("TestProp", Criteria.ComparisonOp.Equals, "test");
            SqlFormatter sqlFormatter = new SqlFormatter("[", "]", "", "LIMIT");
            //-------------Assert Preconditions -------------

            //---------------Execute Test ----------------------
            ISelectQuery selectQuery = QueryBuilder.CreateSelectCountQuery(classDef, criteria);
            SelectQueryDB query = new SelectQueryDB(selectQuery, DatabaseConnection.CurrentConnection);
            ISqlStatement statement = query.CreateSqlStatement(sqlFormatter);
            //---------------Test Result -----------------------
            string statementString = statement.Statement.ToString();
            StringAssert.Contains("SELECT [Count(*)] FROM [MyBO] a1 WHERE ", statement.Statement.ToString());
            StringAssert.EndsWith("WHERE a1.[TestProp] = ?Param0", statementString);
            Assert.AreEqual("?Param0", statement.Parameters[0].ParameterName);
            Assert.AreEqual("test", statement.Parameters[0].Value);

        }
 /// <summary>
 /// Constructor to initialise the connection object with an
 /// assembly name, class name and connection string
 /// </summary>
 /// <param name="assemblyName">The assembly name</param>
 /// <param name="className">The class name</param>
 /// <param name="connectString">The connection string, which can be
 /// generated using ConnectionStringMySqlFactory.CreateConnectionString()
 /// </param>
 public DatabaseConnectionMySql(string assemblyName, string className, string connectString)
     : base(assemblyName, className, connectString)
 {
     _sqlFormatter = new SqlFormatter("`", "`", "", "LIMIT");
 }
Example #29
0
        public void Test_CreateSQL_ShouldUseAliasesInJoins()
        {
            //---------------Set up test pack-------------------
            SelectQuery selectQuery = new SelectQuery();
            var mysource = new Source("mysource");
            selectQuery.Source = mysource;

            QueryField fieldOnMySource = new QueryField("testfield", "testfield", mysource);

            Source joinedTableSource = new Source("mysource");
            joinedTableSource.JoinToSource(new Source("myjoinedtosource"));

            QueryField fieldOnJoinedTableSource = new QueryField("testfield", "testfield", joinedTableSource);

            joinedTableSource.Joins[0].JoinFields.Add(new Source.Join.JoinField(fieldOnMySource, fieldOnJoinedTableSource));
            selectQuery.Fields.Add(fieldOnMySource.FieldName, fieldOnMySource);

            selectQuery.Criteria = new Criteria(fieldOnJoinedTableSource, Criteria.ComparisonOp.Equals, "myvalue");
            SelectQueryDB query = new SelectQueryDB(selectQuery, DatabaseConnection.CurrentConnection);
            SqlFormatter sqlFormatter = new SqlFormatter("[", "]", "", "LIMIT");
            //---------------Execute Test ----------------------
            ISqlStatement statement = query.CreateSqlStatement(sqlFormatter);
            //---------------Test Result -----------------------
            StringAssert.AreEqualIgnoringCase(
                "SELECT a1.[testfield] FROM ([mysource] a1 " + 
                "JOIN [myjoinedtosource] a2 on a1.[testfield] = a2.[testfield]) " + 
                "WHERE a2.[testfield] = ?Param0", statement.Statement.ToString());
        }
Example #30
0
 public void Test_PrepareValue_WithGuid()
 {
     //---------------Set up test pack-------------------
     SqlFormatter sqlFormatter = new SqlFormatter("", "", "", "");
     Guid g = Guid.NewGuid();
     //---------------Assert Precondition----------------
     //---------------Execute Test ----------------------
     object preparedValue = sqlFormatter.PrepareValue(g);
     //---------------Test Result -----------------------
     string strg = g.ToString("B").ToUpper();
     Assert.AreEqual(strg, preparedValue, "PrepareValue is not preparing guids correctly.");
 }