1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package com.puppycrawl.tools.checkstyle.api;
21
22 import static com.google.common.truth.Truth.assertWithMessage;
23 import static com.puppycrawl.tools.checkstyle.internal.utils.TestUtil.getExpectedThrowable;
24
25 import org.junit.jupiter.api.Test;
26
27 public class SeverityLevelCounterTest {
28
29 @Test
30 public void testCtorException() {
31 final IllegalArgumentException exc =
32 getExpectedThrowable(IllegalArgumentException.class,
33 () -> new SeverityLevelCounter(null));
34
35 assertWithMessage("Invalid exception message")
36 .that(exc)
37 .hasMessageThat()
38 .isEqualTo("'level' cannot be null");
39 }
40
41 @Test
42 public void testAddError() {
43 final SeverityLevelCounter counter = new SeverityLevelCounter(SeverityLevel.ERROR);
44 assertWithMessage("Invalid severity level count")
45 .that(counter.getCount())
46 .isEqualTo(0);
47
48 counter.addError(new AuditEvent(this, "ATest.java", null));
49 counter.addError(new AuditEvent(this, "ATest.java", new Violation(1, 2, 0, null,
50 null, null, SeverityLevel.INFO, null, null, null)));
51
52 counter.addError(new AuditEvent(this, "ATest.java", new Violation(1, 2, 0, null,
53 null, null, SeverityLevel.ERROR, null, null, null)));
54 assertWithMessage("Invalid severity level count")
55 .that(counter.getCount())
56 .isEqualTo(1);
57 }
58
59 @Test
60 public void testAddException() {
61 final SeverityLevelCounter counter = new SeverityLevelCounter(SeverityLevel.ERROR);
62 final AuditEvent event = new AuditEvent(this, "ATest.java", null);
63 assertWithMessage("Invalid severity level count")
64 .that(counter.getCount())
65 .isEqualTo(0);
66 counter.addException(event, new IllegalStateException("Test IllegalStateException"));
67 assertWithMessage("Invalid severity level count")
68 .that(counter.getCount())
69 .isEqualTo(1);
70 }
71
72 @Test
73 public void testAddExceptionWarning() {
74 final SeverityLevelCounter counter = new SeverityLevelCounter(SeverityLevel.WARNING);
75 final AuditEvent event = new AuditEvent(this, "ATest.java", null);
76 assertWithMessage("Invalid severity level count")
77 .that(counter.getCount())
78 .isEqualTo(0);
79 counter.addException(event, new IllegalStateException("Test IllegalStateException"));
80 assertWithMessage("Invalid severity level count")
81 .that(counter.getCount())
82 .isEqualTo(0);
83 }
84
85 @Test
86 public void testAuditStartedClearsState() {
87 final SeverityLevelCounter counter = new SeverityLevelCounter(SeverityLevel.ERROR);
88 final AuditEvent event = new AuditEvent(this, "ATest.java", null);
89 final AuditEvent secondEvent = new AuditEvent(this, "BTest.java", null);
90
91 counter.auditStarted(event);
92 assertWithMessage("Invalid severity level count")
93 .that(counter.getCount())
94 .isEqualTo(0);
95
96 counter.addException(event, new IllegalStateException("Test IllegalStateException"));
97 assertWithMessage("Invalid severity level count")
98 .that(counter.getCount())
99 .isEqualTo(1);
100
101 counter.auditStarted(secondEvent);
102 assertWithMessage("Invalid severity level count")
103 .that(counter.getCount())
104 .isEqualTo(0);
105 }
106
107 }