Home | History | Annotate | Download | only in expr
      1 package com.github.javaparser.ast.expr;
      2 
      3 import com.github.javaparser.TokenRange;
      4 import com.github.javaparser.ast.Node;
      5 import org.junit.Test;
      6 
      7 import static com.github.javaparser.JavaParser.parseExpression;
      8 import static org.junit.Assert.*;
      9 
     10 public class LambdaExprTest {
     11     @Test
     12     public void lambdaRange1(){
     13         Expression expression = parseExpression("x -> y");
     14         assertRange("x", "y", expression);
     15     }
     16 
     17     @Test
     18     public void lambdaRange2(){
     19         Expression expression = parseExpression("(x) -> y");
     20         assertRange("(", "y", expression);
     21     }
     22 
     23     private void assertRange(String startToken, String endToken, Node node) {
     24         TokenRange tokenRange = node.getTokenRange().get();
     25         assertEquals(startToken, tokenRange.getBegin().asString());
     26         assertEquals(endToken, tokenRange.getEnd().asString());
     27     }
     28 
     29     @Test
     30     public void getExpressionBody(){
     31         LambdaExpr lambdaExpr = parseExpression("x -> y").asLambdaExpr();
     32         assertEquals("Optional[y]", lambdaExpr.getExpressionBody().toString());
     33     }
     34 
     35     @Test
     36     public void getNoExpressionBody(){
     37         LambdaExpr lambdaExpr = parseExpression("x -> {y;}").asLambdaExpr();
     38         assertEquals("Optional.empty", lambdaExpr.getExpressionBody().toString());
     39     }
     40 
     41 }