blob: 082906b15b67a025fed1df34e010ef43742375b8 [file] [log] [blame]
package com.github.javaparser.ast.expr;
import com.github.javaparser.TokenRange;
import com.github.javaparser.ast.Node;
import org.junit.Test;
import static com.github.javaparser.JavaParser.parseExpression;
import static org.junit.Assert.*;
public class LambdaExprTest {
@Test
public void lambdaRange1(){
Expression expression = parseExpression("x -> y");
assertRange("x", "y", expression);
}
@Test
public void lambdaRange2(){
Expression expression = parseExpression("(x) -> y");
assertRange("(", "y", expression);
}
private void assertRange(String startToken, String endToken, Node node) {
TokenRange tokenRange = node.getTokenRange().get();
assertEquals(startToken, tokenRange.getBegin().asString());
assertEquals(endToken, tokenRange.getEnd().asString());
}
@Test
public void getExpressionBody(){
LambdaExpr lambdaExpr = parseExpression("x -> y").asLambdaExpr();
assertEquals("Optional[y]", lambdaExpr.getExpressionBody().toString());
}
@Test
public void getNoExpressionBody(){
LambdaExpr lambdaExpr = parseExpression("x -> {y;}").asLambdaExpr();
assertEquals("Optional.empty", lambdaExpr.getExpressionBody().toString());
}
}