package de.is24.deadcode4j.analyzer; import de.is24.deadcode4j.AnalysisContext; import javassist.CtClass; import org.junit.Test; import javax.annotation.Nonnull; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.hasSize; public final class A_ByteCodeAnalyzer extends AnAnalyzer<ByteCodeAnalyzer> { @Override protected ByteCodeAnalyzer createAnalyzer() { return new ByteCodeAnalyzer() { @Override protected void analyzeClass(@Nonnull AnalysisContext analysisContext, @Nonnull CtClass clazz) { analysisContext.addAnalyzedClass(clazz.getName()); } }; } @Test public void analyzesAClassFile() { analyzeFile("SingleClass.class"); assertThatClassesAreReported("SingleClass"); assertThatNoDependenciesAreReported(); } @Test public void doesNotAnalyzeNonClassFile() { analyzeFile("spring.xml"); assertThat("Should analyze no class", analysisContext.getAnalyzedCode().getAnalyzedClasses(), hasSize(0)); assertThatNoDependenciesAreReported(); } }