package hudson.plugins.checkstyle.parser; import static junit.framework.Assert.*; import hudson.plugins.analysis.core.AnnotationDifferencer; import hudson.plugins.analysis.test.AnnotationDifferencerTest; import hudson.plugins.analysis.util.model.FileAnnotation; import hudson.plugins.analysis.util.model.Priority; import java.util.HashSet; /** * Tests the {@link AnnotationDifferencer} for warnings. */ public class WarningsDifferencerTest extends AnnotationDifferencerTest { /** {@inheritDoc} */ @Override public FileAnnotation createAnnotation(final String fileName, final Priority priority, final String message, final String category, final String type, final int start, final int end) { Warning warning = new Warning(priority, message, message, message, start, end); warning.setFileName(fileName); return warning; } /** * Verifies that 2 identical warnings are equal. */ public void issue5344() { Warning first = createWarning(); Warning second = createWarning(); assertEquals("Warnings are not equal.", first, second); HashSet<FileAnnotation> current = new HashSet<FileAnnotation>(); current.add(first); HashSet<FileAnnotation> previous = new HashSet<FileAnnotation>(); previous.add(second); assertTrue("New warnings found.", AnnotationDifferencer.getNewAnnotations(current, previous).isEmpty()); } /** * Creates a warning. * * @return a warning */ private Warning createWarning() { Warning warning = new Warning(Priority.NORMAL, "Missing a Javadoc comment.", "JavaDoc", "JavadocMethodCheck", 14); warning.setFileName("/svr/hudson-data/jobs/*****.java"); warning.setModuleName("***** web-archive"); warning.setPackageName("*****"); warning.setContextHashCode(-1131232024); return warning; } }