public void TestSqlLike() { var expression = DbFluent.Like( DbFluent.Table("MyTable"), DbFluent.Concat("%", DbFluent.Parameter("myText").AsExp(), "%")); var log = new BdoLog(); string expectedResult = @"$sqlLike($sqlTable('MyTable'), $sqlConcat($sqlText('%'), $sqlParameter('myText'), $sqlText('%')))"; string result = (string)expression; string xml = ""; if (log.HasErrorsOrExceptions()) { xml = ". Result was '" + log.ToXml(); } Assert.That(result.Trim().Equals(expectedResult.Trim(), StringComparison.OrdinalIgnoreCase), "Bad script interpretation" + xml); // scripted result = _appHost.Interpreter.Evaluate <string>( expression, new ScriptVariableSet().SetDbBuilder(new DbQueryBuilder_PostgreSql()), log: log); expectedResult = @"(""MyTable"" like concat('%', |*|p:myText|*|, '%'))"; xml = ""; if (log.HasErrorsOrExceptions()) { xml = ". Result was '" + log.ToXml(); } Assert.That(result.Trim().Equals(expectedResult.Trim(), StringComparison.OrdinalIgnoreCase), "Bad script interpretation" + xml); }
public void TestSqlIfNull() { var expression = DbFluent.Eq( DbFluent.Field("fieldA"), DbFluent.IfNull( DbFluent.Parameter("myText"), DbFluent.Field("fieldA"))); var log = new BdoLog(); string expectedResult = @"""fieldA""=coalesce(|*|p:myText|*|, ""fieldA"")"; var result = _appHost.Interpreter.Evaluate <string>( expression, new ScriptVariableSet().SetDbBuilder(new DbQueryBuilder_PostgreSql()), log: log); var xml = ""; if (log.HasErrorsOrExceptions()) { xml = ". Result was '" + log.ToXml(); } Assert.That(result.Trim().Equals(expectedResult.Trim(), StringComparison.OrdinalIgnoreCase), "Bad script interpretation" + xml); }