package de.is24.deadcode4j.analyzer;
import de.is24.deadcode4j.AnalysisContext;
import com.github.javaparser.ast.CompilationUnit;
import org.junit.Before;
import org.junit.Test;
import javax.annotation.Nonnull;
import java.util.concurrent.atomic.AtomicBoolean;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.is;
public final class A_JavaFileAnalyzer extends AnAnalyzer<JavaFileAnalyzer> {
private AtomicBoolean didAnalyzeFile;
@Before
public void setUp() {
this.didAnalyzeFile = new AtomicBoolean(false);
}
@Override
protected JavaFileAnalyzer createAnalyzer() {
return new JavaFileAnalyzer() {
@Override
protected void analyzeCompilationUnit(@Nonnull AnalysisContext analysisContext, @Nonnull CompilationUnit compilationUnit) {
didAnalyzeFile.set(true);
}
};
}
@Test
public void analyzesJavaFiles() {
analyzeFile("../../src/test/java/SingleClass.java");
assertThat(didAnalyzeFile.get(), is(true));
}
@Test
public void doesNotAnalyzeNonJavaFile() {
analyzeFile("spring.xml");
assertThat(didAnalyzeFile.get(), is(false));
}
}