1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.maven.plugins.checkstyle.exec;
20
21 import java.util.ArrayList;
22 import java.util.Collections;
23 import java.util.HashMap;
24 import java.util.List;
25 import java.util.Map;
26
27 import com.puppycrawl.tools.checkstyle.api.AuditEvent;
28 import com.puppycrawl.tools.checkstyle.api.SeverityLevel;
29 import com.puppycrawl.tools.checkstyle.api.Violation;
30 import junit.framework.TestCase;
31
32
33
34
35
36 public class CheckstyleResultsTest extends TestCase {
37 private CheckstyleResults results;
38
39
40 protected void setUp() throws Exception {
41 results = new CheckstyleResults();
42 }
43
44
45 protected void tearDown() throws Exception {
46 results = null;
47 }
48
49 public void testEmptyResults() {
50 assertEquals("test total files", 0, results.getFiles().size());
51
52 assertEquals("test file count", 0, results.getFileCount());
53
54 assertEquals(
55 "test zero file violations",
56 0,
57 results.getFileViolations("filename").size());
58
59 assertEquals("test INFO severity count", 0, results.getSeverityCount(SeverityLevel.INFO));
60
61 assertEquals("test WARNING severity count", 0, results.getSeverityCount(SeverityLevel.WARNING));
62
63 assertEquals("test ERROR severity count", 0, results.getSeverityCount(SeverityLevel.ERROR));
64
65 assertEquals("test IGNORE severity count", 0, results.getSeverityCount(SeverityLevel.IGNORE));
66 }
67
68 public void testResults() {
69 Map<String, List<AuditEvent>> files = new HashMap<>();
70
71 Violation message = new Violation(0, 0, "", "", null, SeverityLevel.INFO, null, getClass(), null);
72 AuditEvent event = new AuditEvent(this, "file1", message);
73 files.put("file1", Collections.singletonList(event));
74
75 message = new Violation(0, 0, "", "", null, SeverityLevel.WARNING, null, getClass(), null);
76 List<AuditEvent> events = new ArrayList<>();
77 events.add(new AuditEvent(this, "file2", message));
78 events.add(new AuditEvent(this, "file2", message));
79 files.put("file2", events);
80
81 message = new Violation(0, 0, "", "", null, SeverityLevel.ERROR, null, getClass(), null);
82 events = new ArrayList<>();
83 events.add(new AuditEvent(this, "file3", message));
84 events.add(new AuditEvent(this, "file3", message));
85 events.add(new AuditEvent(this, "file3", message));
86 files.put("file3", events);
87
88 message = new Violation(0, 0, "", "", null, SeverityLevel.IGNORE, null, getClass(), null);
89 events = new ArrayList<>();
90 events.add(new AuditEvent(this, "file4", message));
91 events.add(new AuditEvent(this, "file4", message));
92 events.add(new AuditEvent(this, "file4", message));
93 events.add(new AuditEvent(this, "file4", message));
94 files.put("file4", events);
95
96 results.setFiles(files);
97
98 assertEquals("test total files", 4, results.getFiles().size());
99 assertEquals("test file count", 4, results.getFileCount());
100
101 assertEquals("test file severities", 0, results.getSeverityCount("file0", SeverityLevel.INFO));
102 assertEquals("test file severities", 0, results.getSeverityCount("file0", SeverityLevel.WARNING));
103 assertEquals("test file severities", 0, results.getSeverityCount("file0", SeverityLevel.ERROR));
104 assertEquals("test file severities", 0, results.getSeverityCount("file0", SeverityLevel.IGNORE));
105
106 assertEquals(
107 "test file violations", 1, results.getFileViolations("file1").size());
108 assertEquals("test file severities", 1, results.getSeverityCount("file1", SeverityLevel.INFO));
109 assertEquals("test file severities", 0, results.getSeverityCount("file1", SeverityLevel.WARNING));
110 assertEquals("test file severities", 0, results.getSeverityCount("file1", SeverityLevel.ERROR));
111 assertEquals("test file severities", 0, results.getSeverityCount("file1", SeverityLevel.IGNORE));
112
113 assertEquals(
114 "test file violations", 2, results.getFileViolations("file2").size());
115 assertEquals("test file severities", 0, results.getSeverityCount("file2", SeverityLevel.INFO));
116 assertEquals("test file severities", 2, results.getSeverityCount("file2", SeverityLevel.WARNING));
117 assertEquals("test file severities", 0, results.getSeverityCount("file2", SeverityLevel.ERROR));
118 assertEquals("test file severities", 0, results.getSeverityCount("file2", SeverityLevel.IGNORE));
119
120 assertEquals(
121 "test file violations", 3, results.getFileViolations("file3").size());
122 assertEquals("test file severities", 0, results.getSeverityCount("file3", SeverityLevel.INFO));
123 assertEquals("test file severities", 0, results.getSeverityCount("file3", SeverityLevel.WARNING));
124 assertEquals("test file severities", 3, results.getSeverityCount("file3", SeverityLevel.ERROR));
125 assertEquals("test file severities", 0, results.getSeverityCount("file3", SeverityLevel.IGNORE));
126
127 assertEquals(
128 "test file violations", 4, results.getFileViolations("file4").size());
129 assertEquals("test file severities", 0, results.getSeverityCount("file4", SeverityLevel.INFO));
130 assertEquals("test file severities", 0, results.getSeverityCount("file4", SeverityLevel.WARNING));
131 assertEquals("test file severities", 0, results.getSeverityCount("file4", SeverityLevel.ERROR));
132 assertEquals("test file severities", 4, results.getSeverityCount("file4", SeverityLevel.IGNORE));
133
134 assertEquals("test INFO severity count", 1, results.getSeverityCount(SeverityLevel.INFO));
135 assertEquals("test WARNING severity count", 2, results.getSeverityCount(SeverityLevel.WARNING));
136 assertEquals("test ERROR severity count", 3, results.getSeverityCount(SeverityLevel.ERROR));
137 assertEquals("test IGNORE severity count", 4, results.getSeverityCount(SeverityLevel.IGNORE));
138
139 results.setFileViolations("file", Collections.<AuditEvent>emptyList());
140 assertEquals(
141 "test file violations", 0, results.getFileViolations("file").size());
142 }
143 }