Skip to content

Commit b875b29

Browse files
committed
Custom formatting for stream methods
1 parent c4a5c67 commit b875b29

File tree

1 file changed

+50
-21
lines changed

1 file changed

+50
-21
lines changed

junit-jupiter-migration-support/src/main/java/org/junit/jupiter/migrationsupport/rules/ParameterizedExtension.java

Lines changed: 50 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
@API(Experimental)
4747
public 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

Comments
 (0)