2222import static org .assertj .core .api .SoftAssertions .assertSoftly ;
2323import static org .mockito .Mockito .mock ;
2424import static org .mockito .Mockito .mockConstruction ;
25+ import static org .mockito .Mockito .spy ;
2526import static org .mockito .Mockito .verify ;
2627import static org .mockito .Mockito .verifyNoMoreInteractions ;
2728import static org .mockito .Mockito .withSettings ;
3031import io .github .ascopes .jct .compilers .JctCompilerConfigurer ;
3132import io .github .ascopes .jct .ex .JctIllegalInputException ;
3233import io .github .ascopes .jct .ex .JctJunitConfigurerException ;
34+ import io .github .ascopes .jct .fixtures .Fixtures ;
3335import java .lang .reflect .InvocationTargetException ;
3436import java .util .stream .Collectors ;
3537import 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