public void Create() { var item1 = new WhereItem("field1",123); var parm = new QueryParameter("someparm","testvalue"); var item2 = new WhereString("field2=@someparm",parm); var clause = new WhereClause(JoinType.And, item1, item2); Assert.AreEqual("field1=@field1 AND (field2=@someparm)", clause.GetSql()); Assert.AreEqual(2, clause.Parameters.Count()); }
public void Combine() { var item1 = new WhereItem("field1", 123); var parm = new QueryParameter("someparm", "testvalue"); var item2 = new WhereString("field2=@someparm or field3='value'", parm); var item3 = new WhereItem("field4", 123,parameterize:false); var clause = new WhereClause(JoinType.And, item1, item2); Assert.AreEqual("field1=@field1 AND (field2=@someparm or field3='value')", clause.GetSql()); var newClause = clause.Clone(); newClause.Add(item3,JoinType.Or); Assert.AreEqual("(field1=@field1 AND (field2=@someparm or field3='value')) OR field4=123", newClause.GetSql()); Assert.AreEqual(2, newClause.Parameters.Count()); }