package com.github.signed.pmd.abstractions;
import com.sun.codemodel.JBlock;
import com.sun.codemodel.JExpr;
import com.sun.codemodel.JType;
import net.sourceforge.pmd.PMDException;
import net.sourceforge.pmd.lang.java.ast.JavaNode;
import org.hamcrest.Matchers;
import org.junit.Before;
import org.junit.Test;
import java.io.IOException;
import static org.hamcrest.MatcherAssert.assertThat;
public class MethodCallExtractor_ConstructorCallsTest {
private final Project project = new Project();
private final MethodCallExtractor extractor = new MethodCallExtractor();
private final ClassBuilder classBuilder = project.anyClass();
@Before
public void setUp() throws Exception {
JBlock body = classBuilder.anyMethod().body();
JType stringBuilderType = project.reference(StringBuilder.class);
body.decl(stringBuilderType, "builder", JExpr._new(stringBuilderType));
}
@Test
public void ignoreConstructorCalls() throws Exception {
extractMethodCallsFromTheSingletonAccessClass();
assertThat(extractor.methods(), Matchers.hasSize(0));
}
private void extractMethodCallsFromTheSingletonAccessClass() throws IOException, PMDException {
JavaNode classWithSingletonAccess = classBuilder.toPmdAst();
classWithSingletonAccess.jjtAccept(extractor, null);
}
}