package de.is24.deadcode4j.analyzer.webxml; import de.is24.deadcode4j.AnalysisContext; import de.is24.deadcode4j.analyzer.AnAnalyzer; import org.junit.Test; import javax.annotation.Nonnull; import static java.util.Arrays.asList; import static org.mockito.Matchers.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; public class A_BaseWebXmlAnalyzer extends AnAnalyzer<BaseWebXmlAnalyzer>{ private final WebXmlHandler handler = mock(WebXmlHandler.class); @Override protected BaseWebXmlAnalyzer createAnalyzer() { return new BaseWebXmlAnalyzer() { @Nonnull @Override protected WebXmlHandler createWebXmlHandlerFor(@Nonnull AnalysisContext analysisContext) { return handler; } }; } @Test public void sendsContextParamEventForAContextParamNode() throws Exception { analyzeFile("de/is24/deadcode4j/analyzer/webxml/web.xml"); verify(handler).contextParam( eq(new Param("dummy name", "dummy value"))); } @Test public void sendsFilterEventForAFilterNode() throws Exception { analyzeFile("de/is24/deadcode4j/analyzer/webxml/web.xml"); verify(handler).filter( eq("dummy.filter.class"), eq(asList(new Param("dummy name", "dummy value")))); } @Test public void sendsListenerEventForAListenerNode() throws Exception { analyzeFile("de/is24/deadcode4j/analyzer/webxml/web.xml"); verify(handler).listener("dummy.listener.class"); } @Test public void sendsServletEventForAServletNode() throws Exception { analyzeFile("de/is24/deadcode4j/analyzer/webxml/web.xml"); verify(handler).servlet( eq("dummy.servlet.class"), eq(asList(new Param("dummy name", "dummy value")))); } }