package hudson.plugins.analysis.util.model; import static org.junit.Assert.*; import org.apache.commons.lang.StringUtils; import org.junit.Test; /** * Tests the class {@link WorkspaceFile}. * * @author Ulli Hafner */ public class WorkspaceFileTest { /** * Verifies that the number of warnings is correctly computed. * * @see <a href="http://issues.hudson-ci.org/browse/HUDSON-6139">Issue 6139</a> */ @Test public void issue6139() { WorkspaceFile file = new WorkspaceFile("test"); file.addAnnotation(new Warning(Priority.HIGH)); file.addAnnotation(new Warning(Priority.HIGH)); file.addAnnotation(new Warning(Priority.NORMAL)); file.addAnnotation(new Warning(Priority.LOW)); file.addAnnotation(new Warning(Priority.NORMAL)); file.addAnnotation(new Warning(Priority.LOW)); file.addAnnotation(new Warning(Priority.NORMAL)); file.addAnnotation(new Warning(Priority.LOW)); file.addAnnotation(new Warning(Priority.NORMAL)); assertEquals("Wrong number of totals", 2, file.getNumberOfHighAnnotations()); assertEquals("Wrong number of totals", 3, file.getNumberOfLowAnnotations()); assertEquals("Wrong number of totals", 4, file.getNumberOfNormalAnnotations()); } /** * Concrete warning for the test. * * @author Ulli Hafner */ @SuppressWarnings("PMD.AssignmentToNonFinalStatic") private static class Warning extends AbstractAnnotation { /** ID. */ private static final long serialVersionUID = 1L; /** Warning key. */ private static int key = 1; /** * Creates a new instance of <code>Warning</code>. * * @param priority * the priority */ Warning(final Priority priority) { super(priority, String.valueOf(key++), key++, key++, String.valueOf(key++), String.valueOf(key++)); setFileName("file"); key++; } /** {@inheritDoc} */ public String getToolTip() { return StringUtils.EMPTY; } } }