Skip to content

Commit 3de8816

Browse files
authored
Merge pull request #1369 from fabriciofx/1365
#1365: Drop mockito dependency from tests
2 parents 086d9dc + d2f51eb commit 3de8816

File tree

9 files changed

+615
-123
lines changed

9 files changed

+615
-123
lines changed

qulice-checkstyle/src/test/java/com/qulice/checkstyle/ChecksTest.java

Lines changed: 61 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import java.util.ArrayList;
1515
import java.util.LinkedList;
1616
import java.util.List;
17+
import java.util.Objects;
1718
import java.util.Properties;
1819
import java.util.stream.Stream;
1920
import org.apache.commons.io.IOUtils;
@@ -22,9 +23,6 @@
2223
import org.hamcrest.Matchers;
2324
import org.junit.jupiter.params.ParameterizedTest;
2425
import org.junit.jupiter.params.provider.MethodSource;
25-
import org.mockito.Mockito;
26-
import org.mockito.invocation.InvocationOnMock;
27-
import org.mockito.stubbing.Answer;
2826
import org.xml.sax.InputSource;
2927

3028
/**
@@ -42,17 +40,17 @@ final class ChecksTest {
4240
@MethodSource("checks")
4341
@SuppressWarnings("PMD.JUnitAssertionsShouldIncludeMessage")
4442
void testCheckstyleTruePositive(final String dir) throws Exception {
45-
final AuditListener listener = Mockito.mock(AuditListener.class);
4643
final Collector collector = new ChecksTest.Collector();
47-
Mockito.doAnswer(collector).when(listener)
48-
.addError(Mockito.any(AuditEvent.class));
44+
final AuditListener listener = new FakeAuditListener(collector);
4945
this.check(dir, "/Invalid.java", listener);
5046
final String[] violations = IOUtils.toString(
51-
this.getClass().getResourceAsStream(
52-
String.format("%s/violations.txt", dir)
47+
Objects.requireNonNull(
48+
this.getClass().getResourceAsStream(
49+
String.format("%s/violations.txt", dir)
50+
)
5351
),
5452
StandardCharsets.UTF_8
55-
).split("\n");
53+
).split("\n");
5654
for (final String line : violations) {
5755
final String[] sectors = line.split(":");
5856
final Integer pos = Integer.valueOf(sectors[0]);
@@ -91,18 +89,14 @@ void testCheckstyleTruePositive(final String dir) throws Exception {
9189
@ParameterizedTest
9290
@MethodSource("checks")
9391
void testCheckstyleTrueNegative(final String dir) throws Exception {
94-
final AuditListener listener = Mockito.mock(AuditListener.class);
9592
final Collector collector = new ChecksTest.Collector();
96-
Mockito.doAnswer(collector).when(listener)
97-
.addError(Mockito.any(AuditEvent.class));
93+
final AuditListener listener = new FakeAuditListener(collector);
9894
this.check(dir, "/Valid.java", listener);
9995
MatcherAssert.assertThat(
10096
"Log should be empty for valid files",
10197
collector.summary(),
10298
Matchers.equalTo("")
10399
);
104-
Mockito.verify(listener, Mockito.times(0))
105-
.addError(Mockito.any(AuditEvent.class));
106100
}
107101

108102
/**
@@ -180,17 +174,14 @@ private static Stream<String> checks() {
180174
*
181175
* @since 0.1
182176
*/
183-
private static final class Collector implements Answer<Object> {
184-
177+
private static final class Collector {
185178
/**
186179
* List of events received.
187180
*/
188181
private final List<AuditEvent> events = new LinkedList<>();
189182

190-
@Override
191-
public Object answer(final InvocationOnMock invocation) {
192-
this.events.add((AuditEvent) invocation.getArguments()[0]);
193-
return null;
183+
public void add(final AuditEvent event) {
184+
this.events.add(event);
194185
}
195186

196187
/**
@@ -237,4 +228,54 @@ public String summary() {
237228
}
238229
}
239230

231+
/**
232+
* Fake Audit Listener.
233+
*
234+
* Just to set an event on addError() to a mocked Collector.
235+
*
236+
* @since 0.24.1
237+
*/
238+
private static final class FakeAuditListener implements AuditListener {
239+
/**
240+
* Mocked collector.
241+
*/
242+
private final ChecksTest.Collector collector;
243+
244+
FakeAuditListener(final ChecksTest.Collector collect) {
245+
this.collector = collect;
246+
}
247+
248+
@Override
249+
public void auditStarted(final AuditEvent event) {
250+
// Intentionally left blank
251+
}
252+
253+
@Override
254+
public void auditFinished(final AuditEvent event) {
255+
// Intentionally left blank
256+
}
257+
258+
@Override
259+
public void fileStarted(final AuditEvent event) {
260+
// Intentionally left blank
261+
}
262+
263+
@Override
264+
public void fileFinished(final AuditEvent event) {
265+
// Intentionally left blank
266+
}
267+
268+
@Override
269+
public void addError(final AuditEvent event) {
270+
this.collector.add(event);
271+
}
272+
273+
@Override
274+
public void addException(
275+
final AuditEvent event,
276+
final Throwable throwable
277+
) {
278+
// Intentionally left blank
279+
}
280+
}
240281
}

0 commit comments

Comments
 (0)