public void AppendCriteria_Complex()
 {
     //---------------Set up test pack-------------------
     const string startSql = "select [FAKE WHERE CLAUSE] from bob WHERE that = 'FAKE WHERE CLAUSE'";
     var builder = new SqlStatementBuilder(_connection, startSql);
     const string appendSql = "this = that";
     const string expectedSql = startSql + " AND " + appendSql;
     //---------------Execute Test ----------------------
     builder.AppendCriteria(appendSql);
     var actual = builder.GetStatement().Statement.ToString();
     //---------------Test Result -----------------------
     Assert.AreEqual(expectedSql, actual);
 }
 public void AppendCriteria_WithNoWhere_AddWhere()
 {
     //---------------Set up test pack-------------------
     const string startSql = "select * from bob";
     var builder = new SqlStatementBuilder(_connection, startSql);
     const string appendSql = "this = that";
     const string expectedSql = startSql + " WHERE " + appendSql;
     //---------------Execute Test ----------------------
     builder.AppendCriteria(appendSql);
     var actual = builder.GetStatement().Statement.ToString();
     //---------------Test Result -----------------------
     Assert.AreEqual(expectedSql, actual);
 }
 public void AddJoin_Complex()
 {
     //---------------Set up test pack-------------------
     const string startSql = "select [FALSE FROM CLAUSE], [FALSE WHERE CLAUSE] from bob WHERE that = this";
     var builder = new SqlStatementBuilder(_connection, startSql);
     const string expectedSql = "select DISTINCT [FALSE FROM CLAUSE], [FALSE WHERE CLAUSE] from bob LEFT JOIN [bobby] ON bobs = bobbys WHERE that = this AND this = that";
     //---------------Execute Test ----------------------
     builder.AddJoin("left join", "bobby", "bobs = bobbys");
     builder.AppendCriteria("this = that");
     var actual = builder.GetStatement().Statement.ToString();
     //---------------Test Result -----------------------
     Assert.AreEqual(expectedSql, actual);
 }
 public void AddJoin_WithWhere_AlsoAddWhere_AddAnotherJoin()
 {
     //---------------Set up test pack-------------------
     const string startSql = "select * from bob WHERE that = this";
     var builder = new SqlStatementBuilder(_connection, startSql);
     const string expectedSql = "select DISTINCT * from (bob LEFT JOIN [bobby] ON bobs = bobbys) "+
                                "LEFT JOIN [bobbin] ON bobbys = bobbins WHERE that = this AND this = that";
     //---------------Execute Test ----------------------
     builder.AddJoin("left join", "bobby", "bobs = bobbys");
     builder.AppendCriteria("this = that");
     builder.AddJoin("left join", "bobbin", "bobbys = bobbins");
     var actual = builder.GetStatement().Statement.ToString();
     //---------------Test Result -----------------------
     Assert.AreEqual(expectedSql, actual);
 }