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