public void ConvertSoqlExpressionReturnsConvertedApexSoqlExpression() { var text = "List<Contact> contacts = Soql.Query<Contact>(\"SELECT Id, Email, Phone FROM Contact\");"; var expr = GenericExpressionHelper.ConvertSoqlQueriesToApex(text); Assert.AreEqual("List<Contact> contacts = [SELECT Id, Email, Phone FROM Contact];", expr); text = @"List<Contact> contacts = Soql.Query<Contact>(""SELECT Id, Email, Phone FROM Contact WHERE Email = :email"", email);"; expr = GenericExpressionHelper.ConvertSoqlQueriesToApex(text); Assert.AreEqual("List<Contact> contacts = [SELECT Id, Email, Phone FROM Contact WHERE Email = :email];", expr); }
private ApexExpressionSyntax ConvertExpression(ExpressionSyntax expression) { if (expression == null) { return(null); } var apexExpr = expression.ToString(); apexExpr = GenericExpressionHelper.ConvertSoqlQueriesToApex(apexExpr); apexExpr = GenericExpressionHelper.ConvertSoqlStatementsToApex(apexExpr); apexExpr = GenericExpressionHelper.ConvertTypeofExpressionsToApex(apexExpr); apexExpr = GenericExpressionHelper.ConvertCSharpIsTypeExpressionToApex(apexExpr); apexExpr = GenericExpressionHelper.ConvertCSharpTypesToApex(apexExpr); apexExpr = apexExpr.Replace("\"", "'"); return(new ApexExpressionSyntax(apexExpr)); }