4646@ API (Experimental )
4747public class ParameterizedExtension implements TestTemplateInvocationContextProvider , ParameterResolver {
4848 private static ExtensionContext .Namespace parameters = ExtensionContext .Namespace .create (
49- ParameterizedExtension .class );;
49+ ParameterizedExtension .class );
5050 private int parametersCollectionIndex = 0 ;
5151
5252 /**
@@ -62,7 +62,7 @@ public boolean supports(ContainerExtensionContext context) {
6262
6363 @ Override
6464 public Iterator <TestTemplateInvocationContext > provide (ContainerExtensionContext context ) {
65- //grabbing the parent ensures the paremeters are stored in the same store.
65+ // grabbing the parent ensures the paremeters are stored in the same store.
6666 return context .getParent ().flatMap (ParameterizedExtension ::parameters ).map (
6767 ParameterizedExtension ::testTemplateContextsFromParameters ).orElse (Collections .emptyIterator ());
6868 }
@@ -90,7 +90,7 @@ public Object resolve(ParameterContext parameterContext, ExtensionContext extens
9090 Object [] parameters = resolveParametersForConstructor (extensionContext , parameterCount );
9191
9292 int parameterIndex = parameterContext .getIndex ();
93- //move to the next set of parametersFields
93+ // move to the next set of parametersFields
9494 if (lastParameterToBeResolved (parameterContext )) {
9595 this .parametersCollectionIndex ++;
9696 }
@@ -104,15 +104,18 @@ public Object resolve(ParameterContext parameterContext, ExtensionContext extens
104104 * @param extensionContext the extensionContext
105105 * @param parameterCount the amount of parameters of the constructor.
106106 *
107- * @return the object [] for this parameter iteration.
107+ * @return the Object [] for this parameter iteration.
108108 * @throws ParameterResolutionException If the amount of arguments of the constructor doesn't match the amount
109109 * of arguments of the currently resolved object[]
110110 */
111111 private Object [] resolveParametersForConstructor (ExtensionContext extensionContext , int parameterCount )
112112 throws ParameterResolutionException {
113- return parameters (extensionContext ).map (ArrayList ::new ).map (l -> l .get (this .parametersCollectionIndex )).filter (
114- params -> params .length == parameterCount ).orElseThrow (
115- ParameterizedExtension ::unMatchedAmountOfParametersException );
113+ // @formatter:off
114+ return parameters (extensionContext ).map (ArrayList ::new )
115+ .map (l -> l .get (this .parametersCollectionIndex ))
116+ .filter (params -> params .length == parameterCount )
117+ .orElseThrow (ParameterizedExtension ::unMatchedAmountOfParametersException );
118+ // @formatter:on
116119 }
117120
118121 private static boolean hasCorrectParameterFields (ExtensionContext context ) {
@@ -140,18 +143,30 @@ private static boolean areParametersFormedCorrectly(List<Field> fields) {
140143 }
141144
142145 private static List <Integer > parameterIndexes (List <Field > fields ) {
143- return fields .stream ().map (f -> f .getAnnotation (Parameterized .Parameter .class )).map (
144- Parameterized .Parameter ::value ).collect (toList ());
146+ // @formatter:off
147+ return fields .stream ()
148+ .map (f -> f .getAnnotation (Parameterized .Parameter .class ))
149+ .map (Parameterized .Parameter ::value )
150+ .collect (toList ());
151+ // @formatter:on
145152 }
146153
147154 private static List <Integer > duplicatedIndexes (List <Integer > parameterValues ) {
148- return parameterValues .stream ().collect (groupingBy (identity ())).entrySet ().stream ().filter (
149- e -> e .getValue ().size () > 1 ).map (Map .Entry ::getKey ).collect (toList ());
155+ // @formatter:off
156+ return parameterValues .stream ().collect (groupingBy (identity ())).entrySet ().stream ()
157+ .filter (e -> e .getValue ().size () > 1 )
158+ .map (Map .Entry ::getKey )
159+ .collect (toList ());
160+ // @formatter:on
150161 }
151162
152163 private static Boolean indexRangeComplete (List <Integer > parameterValues ) {
153- return parameterValues .stream ().max (Integer ::compareTo ).map (
154- i -> parameterValues .containsAll (IntStream .range (0 , i ).boxed ().collect (toList ()))).orElse (false );
164+ // @formatter:off
165+ return parameterValues .stream ()
166+ .max (Integer ::compareTo )
167+ .map (i -> parameterValues .containsAll (IntStream .range (0 , i ).boxed ().collect (toList ())))
168+ .orElse (false );
169+ // @formatter:on
155170 }
156171
157172 private static boolean lastParameterToBeResolved (ParameterContext parameterContext ) {
@@ -165,17 +180,23 @@ private static Optional<Collection<Object[]>> parameters(ExtensionContext contex
165180 }
166181
167182 private static Optional <Collection <Object []>> callParameters (ExtensionContext context ) {
168- return findParametersMethod (context ).map (m -> ReflectionUtils .invokeMethod (m , null )).map (
169- ParameterizedExtension ::convertParametersMethodReturnType );
183+ // @formatter:off
184+ return findParametersMethod (context )
185+ .map (m -> ReflectionUtils .invokeMethod (m , null ))
186+ .map (ParameterizedExtension ::convertParametersMethodReturnType );
187+ // @formatter:on
170188 }
171189
172190 private static boolean hasParametersMethod (ExtensionContext context ) {
173191 return findParametersMethod (context ).isPresent ();
174192 }
175193
176194 private static Optional <Method > findParametersMethod (ExtensionContext extensionContext ) {
177- return extensionContext .getTestClass ().flatMap (ParameterizedExtension ::ensureSingleParametersMethod ).filter (
178- ReflectionUtils ::isPublic );
195+ // @formatter:off
196+ return extensionContext .getTestClass ()
197+ .flatMap (ParameterizedExtension ::ensureSingleParametersMethod )
198+ .filter (ReflectionUtils ::isPublic );
199+ // @formatter:on
179200 }
180201
181202 private static Optional <Method > ensureSingleParametersMethod (Class <?> testClass ) {
@@ -220,13 +241,21 @@ public void beforeTestExecution(TestExtensionContext context) throws Exception {
220241 }
221242
222243 private static boolean hasArgsConstructor (ExtensionContext context ) {
223- return context .getTestClass ().map (ReflectionUtils ::getDeclaredConstructor ).filter (
224- c -> c .getParameterCount () > 0 ).isPresent ();
244+ // @formatter:off
245+ return context .getTestClass ()
246+ .map (ReflectionUtils ::getDeclaredConstructor )
247+ .filter (c -> c .getParameterCount () > 0 )
248+ .isPresent ();
249+ // @formatter:on
225250 }
226251
227252 private static List <Field > parametersFields (ExtensionContext context ) {
228- Stream <Field > fieldStream = context .getTestClass ().map (Class ::getDeclaredFields ).map (Stream ::of ).orElse (
229- Stream .empty ());
253+ // @formatter:off
254+ Stream <Field > fieldStream = context .getTestClass ()
255+ .map (Class ::getDeclaredFields )
256+ .map (Stream ::of )
257+ .orElse (Stream .empty ());
258+ // @formatter:on
230259
231260 return fieldStream .filter (f -> f .isAnnotationPresent (Parameterized .Parameter .class )).filter (
232261 ReflectionUtils ::isPublic ).collect (toList ());
0 commit comments