22
22
import static org .assertj .core .api .SoftAssertions .assertSoftly ;
23
23
import static org .mockito .Mockito .mock ;
24
24
import static org .mockito .Mockito .mockConstruction ;
25
+ import static org .mockito .Mockito .spy ;
25
26
import static org .mockito .Mockito .verify ;
26
27
import static org .mockito .Mockito .verifyNoMoreInteractions ;
27
28
import static org .mockito .Mockito .withSettings ;
30
31
import io .github .ascopes .jct .compilers .JctCompilerConfigurer ;
31
32
import io .github .ascopes .jct .ex .JctIllegalInputException ;
32
33
import io .github .ascopes .jct .ex .JctJunitConfigurerException ;
34
+ import io .github .ascopes .jct .fixtures .Fixtures ;
33
35
import java .lang .reflect .InvocationTargetException ;
34
36
import java .util .stream .Collectors ;
35
37
import java .util .stream .Stream ;
@@ -98,13 +100,14 @@ void configuringTheProviderWithNullVersionStrategyWillRaiseException() {
98
100
void configuringTheProviderWithVersionStrategyUsesThatStrategy () {
99
101
// Given
100
102
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 ));
102
105
103
106
// When
104
107
provider .configureInternals (10 , 15 , versionStrategy );
105
108
var compilers = provider .provideArguments (mock (ExtensionContext .class ))
106
109
.map (args -> (JctCompiler ) args .get ()[0 ])
107
- .collect ( Collectors . toList () );
110
+ .toList ();
108
111
109
112
// Then
110
113
for (var i = 0 ; i < compilers .size (); ++i ) {
@@ -121,7 +124,8 @@ void configuringTheProviderWithVersionStrategyUsesThatStrategy() {
121
124
void configuringTheProviderRespectsTheMinimumVersionBound () {
122
125
// Given
123
126
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 ));
125
129
126
130
// When
127
131
provider .configureInternals (10 , 17 , versionStrategy );
@@ -144,7 +148,8 @@ void configuringTheProviderRespectsTheMinimumVersionBound() {
144
148
void configuringTheProviderRespectsTheMaximumVersionBound () {
145
149
// Given
146
150
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 ));
148
153
149
154
// When
150
155
provider .configureInternals (15 , 20 , versionStrategy );
0 commit comments