public void CanCreateIfFunctionCallUsingVariables() { // given var ifExpr = new VariableExpression("if"); SparqlExpression thenExpr = new VariableExpression("then this"); SparqlExpression elseExpr = new VariableExpression("else that"); // when RdfTermExpression expression = Builder.If(ifExpr).Then(thenExpr).Else(elseExpr); // then Assert.IsTrue(expression.Expression is IfElseFunction); Assert.AreSame(ifExpr.Expression, expression.Expression.Arguments.ElementAt(0)); Assert.AreSame(thenExpr.Expression, expression.Expression.Arguments.ElementAt(1)); Assert.AreSame(elseExpr.Expression, expression.Expression.Arguments.ElementAt(2)); }
public void CanCreateIfFunctionCall() { // given var ifExpr = new BooleanExpression(new VariableTerm("if")); SparqlExpression thenExpr = new TypedLiteralExpression <string>("then this"); SparqlExpression elseExpr = new TypedLiteralExpression <string>("else that"); // when RdfTermExpression expression = Builder.If(ifExpr).Then(thenExpr).Else(elseExpr); // then Assert.IsTrue(expression.Expression is IfElseFunction); Assert.AreSame(expression.Expression.Arguments.ElementAt(0), ifExpr.Expression); Assert.AreSame(expression.Expression.Arguments.ElementAt(1), thenExpr.Expression); Assert.AreSame(expression.Expression.Arguments.ElementAt(2), elseExpr.Expression); }
public void CanCreateTheCoalesceFunctionCall() { // given SparqlExpression expr1 = new VariableExpression("x"); SparqlExpression expr2 = new TypedLiteralExpression <string>("str"); SparqlExpression expr3 = new NumericExpression <int>(10); SparqlExpression expr4 = new NumericExpression <float>(10.5f) / new NumericExpression <float>(0); // when RdfTermExpression coalesce = Builder.Coalesce(expr1, expr2, expr3, expr4); // then Assert.IsTrue(coalesce.Expression is CoalesceFunction); Assert.AreSame(expr1.Expression, coalesce.Expression.Arguments.ElementAt(0)); Assert.AreSame(expr2.Expression, coalesce.Expression.Arguments.ElementAt(1)); Assert.AreSame(expr3.Expression, coalesce.Expression.Arguments.ElementAt(2)); Assert.AreSame(expr4.Expression, coalesce.Expression.Arguments.ElementAt(3)); }