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.Locale;
29 import java.util.Map;
30 import java.util.HashMap;
31 import java.util.List;
32 import java.util.ArrayList;
33
34
35
36
37
38 public class CheckstyleResultsTest
39 extends TestCase
40 {
41 private CheckstyleResults results;
42
43
44 protected void setUp()
45 throws Exception
46 {
47 results = new CheckstyleResults();
48 }
49
50
51 protected void tearDown()
52 throws Exception
53 {
54 results = null;
55 }
56
57 public void testEmptyResults()
58 {
59 assertEquals( "test total files", 0, results.getFiles().size() );
60
61 assertEquals( "test file count", 0, results.getFileCount() );
62
63 assertEquals( "test zero file violations", 0, results.getFileViolations( "filename" ).size() );
64
65 assertEquals( "test INFO severity count", 0, results.getSeverityCount( SeverityLevel.INFO ) );
66
67 assertEquals( "test WARNING severity count", 0, results.getSeverityCount( SeverityLevel.WARNING ) );
68
69 assertEquals( "test ERROR severity count", 0, results.getSeverityCount( SeverityLevel.ERROR ) );
70
71 assertEquals( "test IGNORE severity count", 0, results.getSeverityCount( SeverityLevel.IGNORE ) );
72 }
73
74 public void testResults()
75 {
76 Map files = new HashMap();
77
78 LocalizedMessage message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.INFO, null, getClass(), null );
79 AuditEvent event = new AuditEvent( this, "file1", message );
80 files.put( "file1", Collections.singletonList( event ) );
81
82 message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.WARNING, null, getClass(), null );
83 List events = new ArrayList();
84 events.add( new AuditEvent( this, "file2", message ) );
85 events.add( new AuditEvent( this, "file2", message ) );
86 files.put( "file2", events );
87
88 message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.ERROR, null, getClass(), null );
89 events = new ArrayList();
90 events.add( new AuditEvent( this, "file3", message ) );
91 events.add( new AuditEvent( this, "file3", message ) );
92 events.add( new AuditEvent( this, "file3", message ) );
93 files.put( "file3", events );
94
95 message = new LocalizedMessage( 0, 0, "", "", null, SeverityLevel.IGNORE, null, getClass(), null );
96 events = new ArrayList();
97 events.add( new AuditEvent( this, "file4", message ) );
98 events.add( new AuditEvent( this, "file4", message ) );
99 events.add( new AuditEvent( this, "file4", message ) );
100 events.add( new AuditEvent( this, "file4", message ) );
101 files.put( "file4", events );
102
103 results.setFiles( files );
104
105 assertEquals( "test total files", 4, results.getFiles().size() );
106 assertEquals( "test file count", 4, results.getFileCount() );
107
108 assertEquals( "test file severities", 0, results.getSeverityCount( "file0", SeverityLevel.INFO ) );
109 assertEquals( "test file severities", 0, results.getSeverityCount( "file0", SeverityLevel.WARNING ) );
110 assertEquals( "test file severities", 0, results.getSeverityCount( "file0", SeverityLevel.ERROR ) );
111 assertEquals( "test file severities", 0, results.getSeverityCount( "file0", SeverityLevel.IGNORE ) );
112
113 assertEquals( "test file violations", 1, results.getFileViolations( "file1" ).size() );
114 assertEquals( "test file severities", 1, results.getSeverityCount( "file1", SeverityLevel.INFO ) );
115 assertEquals( "test file severities", 0, results.getSeverityCount( "file1", SeverityLevel.WARNING ) );
116 assertEquals( "test file severities", 0, results.getSeverityCount( "file1", SeverityLevel.ERROR ) );
117 assertEquals( "test file severities", 0, results.getSeverityCount( "file1", SeverityLevel.IGNORE ) );
118
119 assertEquals( "test file violations", 2, results.getFileViolations( "file2" ).size() );
120 assertEquals( "test file severities", 0, results.getSeverityCount( "file2", SeverityLevel.INFO ) );
121 assertEquals( "test file severities", 2, results.getSeverityCount( "file2", SeverityLevel.WARNING ) );
122 assertEquals( "test file severities", 0, results.getSeverityCount( "file2", SeverityLevel.ERROR ) );
123 assertEquals( "test file severities", 0, results.getSeverityCount( "file2", SeverityLevel.IGNORE ) );
124
125 assertEquals( "test file violations", 3, results.getFileViolations( "file3" ).size() );
126 assertEquals( "test file severities", 0, results.getSeverityCount( "file3", SeverityLevel.INFO ) );
127 assertEquals( "test file severities", 0, results.getSeverityCount( "file3", SeverityLevel.WARNING ) );
128 assertEquals( "test file severities", 3, results.getSeverityCount( "file3", SeverityLevel.ERROR ) );
129 assertEquals( "test file severities", 0, results.getSeverityCount( "file3", SeverityLevel.IGNORE ) );
130
131 assertEquals( "test file violations", 4, results.getFileViolations( "file4" ).size() );
132 assertEquals( "test file severities", 0, results.getSeverityCount( "file4", SeverityLevel.INFO ) );
133 assertEquals( "test file severities", 0, results.getSeverityCount( "file4", SeverityLevel.WARNING ) );
134 assertEquals( "test file severities", 0, results.getSeverityCount( "file4", SeverityLevel.ERROR ) );
135 assertEquals( "test file severities", 4, results.getSeverityCount( "file4", SeverityLevel.IGNORE ) );
136
137 assertEquals( "test INFO severity count", 1, results.getSeverityCount( SeverityLevel.INFO ) );
138 assertEquals( "test WARNING severity count", 2, results.getSeverityCount( SeverityLevel.WARNING ) );
139 assertEquals( "test ERROR severity count", 3, results.getSeverityCount( SeverityLevel.ERROR ) );
140 assertEquals( "test IGNORE severity count", 4, results.getSeverityCount( SeverityLevel.IGNORE ) );
141
142 results.setFileViolations( "file", Collections.EMPTY_LIST );
143 assertEquals( "test file violations", 0, results.getFileViolations( "file" ).size() );
144 }
145 }