147fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggenpackage com.github.javaparser.ast.nodeTypes; 247fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen 347fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggenimport com.github.javaparser.ast.expr.FieldAccessExpr; 447fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggenimport com.github.javaparser.ast.expr.MethodCallExpr; 547fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggenimport org.junit.Test; 647fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen 747fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggenimport static com.github.javaparser.JavaParser.parseExpression; 847fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggenimport static com.github.javaparser.utils.TestUtils.assertInstanceOf; 947fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggenimport static org.junit.Assert.assertFalse; 1047fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen 1147fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggenpublic class NodeWithTraversableScopeTest { 1247fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen @Test 1347fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen public void traverse1() { 1447fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen NodeWithTraversableScope expression = parseExpression("getAddress().name.startsWith(\"abc\")"); 1547fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen 1647fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen assertInstanceOf(MethodCallExpr.class, expression); 1747fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen expression = (NodeWithTraversableScope) expression.traverseScope().get(); 1847fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen assertInstanceOf(FieldAccessExpr.class, expression); 1947fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen expression = (NodeWithTraversableScope) expression.traverseScope().get(); 2047fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen assertInstanceOf(MethodCallExpr.class, expression); 2147fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen assertFalse(expression.traverseScope().isPresent()); 2247fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen } 2347fe1ae78de91f6d2b411c7802b0c9fc8aa8ed93Danny van Bruggen} 24