Skip to content

Commit 086ef0e

Browse files
committed
Fix test failures on Java 17
1 parent 9b0e2ff commit 086ef0e

File tree

1 file changed

+9
-4
lines changed

1 file changed

+9
-4
lines changed

java-compiler-testing/src/test/java/io/github/ascopes/jct/junit/AbstractCompilersProviderTest.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import static org.assertj.core.api.SoftAssertions.assertSoftly;
2323
import static org.mockito.Mockito.mock;
2424
import static org.mockito.Mockito.mockConstruction;
25+
import static org.mockito.Mockito.spy;
2526
import static org.mockito.Mockito.verify;
2627
import static org.mockito.Mockito.verifyNoMoreInteractions;
2728
import static org.mockito.Mockito.withSettings;
@@ -30,6 +31,7 @@
3031
import io.github.ascopes.jct.compilers.JctCompilerConfigurer;
3132
import io.github.ascopes.jct.ex.JctIllegalInputException;
3233
import io.github.ascopes.jct.ex.JctJunitConfigurerException;
34+
import io.github.ascopes.jct.fixtures.Fixtures;
3335
import java.lang.reflect.InvocationTargetException;
3436
import java.util.stream.Collectors;
3537
import java.util.stream.Stream;
@@ -98,13 +100,14 @@ void configuringTheProviderWithNullVersionStrategyWillRaiseException() {
98100
void configuringTheProviderWithVersionStrategyUsesThatStrategy() {
99101
// Given
100102
var provider = new CompilersProviderImpl(8, 17);
101-
var versionStrategy = mock(VersionStrategy.class);
103+
// Mockito refuses to mock enums past Java 17, but we _can_ still spy on them.
104+
var versionStrategy = spy(Fixtures.oneOf(VersionStrategy.class));
102105

103106
// When
104107
provider.configureInternals(10, 15, versionStrategy);
105108
var compilers = provider.provideArguments(mock(ExtensionContext.class))
106109
.map(args -> (JctCompiler) args.get()[0])
107-
.collect(Collectors.toList());
110+
.toList();
108111

109112
// Then
110113
for (var i = 0; i < compilers.size(); ++i) {
@@ -121,7 +124,8 @@ void configuringTheProviderWithVersionStrategyUsesThatStrategy() {
121124
void configuringTheProviderRespectsTheMinimumVersionBound() {
122125
// Given
123126
var provider = new CompilersProviderImpl(15, 17);
124-
var versionStrategy = mock(VersionStrategy.class);
127+
// Mockito refuses to mock enums past Java 17, but we _can_ still spy on them.
128+
var versionStrategy = spy(Fixtures.oneOf(VersionStrategy.class));
125129

126130
// When
127131
provider.configureInternals(10, 17, versionStrategy);
@@ -144,7 +148,8 @@ void configuringTheProviderRespectsTheMinimumVersionBound() {
144148
void configuringTheProviderRespectsTheMaximumVersionBound() {
145149
// Given
146150
var provider = new CompilersProviderImpl(15, 17);
147-
var versionStrategy = mock(VersionStrategy.class);
151+
// Mockito refuses to mock enums past Java 17, but we _can_ still spy on them.
152+
var versionStrategy = spy(Fixtures.oneOf(VersionStrategy.class));
148153

149154
// When
150155
provider.configureInternals(15, 20, versionStrategy);

0 commit comments

Comments
 (0)