Class ResolverFacade
java.lang.Object
org.junit.jupiter.params.ResolverFacade
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static classprivate static classprivate static classprivate static classprivate static classprivate static class(package private) static classprivate static classprivate static interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Set<? extends ResolverFacade.ResolvableParameterDeclaration> private final ResolverFacade.DefaultParameterDeclarationsprivate final intprivate final ResolverFacade.RequiredParameterCountprivate final Map<ParameterDeclaration, ResolverFacade.Resolver> -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateResolverFacade(AnnotatedElement sourceElement, NavigableMap<Integer, ? extends ResolverFacade.ResolvableParameterDeclaration> indexedParameters, Set<? extends ResolverFacade.ResolvableParameterDeclaration> aggregatorParameters, int parameterIndexOffset, ResolverFacade.RequiredParameterCount requiredParameterCount) -
Method Summary
Modifier and TypeMethodDescriptionprivate static <T> TconfigurationErrorOrSuccess(List<String> errors, Supplier<T> successfulResult) (package private) static ResolverFacade(package private) static ResolverFacadecreate(Constructor<?> constructor, ParameterizedClass annotation) private static ResolverFacadecreate(Executable executable, Annotation annotation, int indexOffset) Create a newResolverFacadefor the suppliedExecutable.(package private) static ResolverFacadecreate(Method method, Annotation annotation) private static ResolverFacade.AggregatorcreateAggregator(ParameterDeclaration declaration, org.junit.jupiter.api.extension.ExtensionContext extensionContext) private static ResolverFacade.ConvertercreateConverter(ParameterDeclaration declaration, org.junit.jupiter.api.extension.ExtensionContext extensionContext) (package private) ArgumentSetLifecycleMethod.ParameterResolvercreateLifecycleMethodParameterResolver(Method method, Annotation annotation) (package private) intDetermine the number of arguments that are considered consumed by the parameter declarations in this resolver.(package private) intdetermineConsumedArgumentLength(int totalLength) Determine the length of the arguments array that is considered consumed by the parameter declarations in this resolver.private Optional<? extends ResolverFacade.ResolvableParameterDeclaration> findDeclaration(int parameterIndex) private Stream<ParameterDeclaration> (package private) ParameterDeclarationsgetParameterName(int parameterIndex) Get the name of the parameter with the supplied index, if it is present and declared before the aggregators.(package private) ResolverFacade.RequiredParameterCountprivate ResolverFacade.ResolvergetResolver(org.junit.jupiter.api.extension.ExtensionContext extensionContext, ResolverFacade.ResolvableParameterDeclaration declaration) (package private) booleanisSupportedParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, EvaluatedArgumentSet arguments) private static StringparameterName(ParameterDeclaration actualDeclaration) private static org.junit.jupiter.api.extension.ParameterResolutionExceptionparameterResolutionException(String message, Exception cause, int index) (package private) Objectresolve(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, EvaluatedArgumentSet arguments, int invocationIndex, ResolutionCache resolutionCache) Resolve the parameter for the supplied context using the supplied arguments.private Objectresolve(ResolverFacade.ResolvableParameterDeclaration parameterDeclaration, org.junit.jupiter.api.extension.ExtensionContext extensionContext, EvaluatedArgumentSet arguments, int invocationIndex, Optional<org.junit.jupiter.api.extension.ParameterContext> parameterContext) (package private) voidresolveAndInjectFields(Object testInstance, org.junit.jupiter.api.extension.ExtensionContext extensionContext, EvaluatedArgumentSet arguments, int invocationIndex, ResolutionCache resolutionCache) private voidsetField(Object testInstance, ResolverFacade.FieldParameterDeclaration declaration, org.junit.jupiter.api.extension.ExtensionContext extensionContext, EvaluatedArgumentSet arguments, int invocationIndex, ResolutionCache resolutionCache) private inttoLogicalIndex(org.junit.jupiter.api.extension.ParameterContext parameterContext) private static voidvalidateAggregatorParameters(Set<ResolverFacade.FieldParameterDeclaration> aggregatorParameters, List<String> errors) private static NavigableMap<Integer, ResolverFacade.FieldParameterDeclaration> validateFieldDeclarations(NavigableMap<Integer, List<ResolverFacade.FieldParameterDeclaration>> indexedParameters, Set<ResolverFacade.FieldParameterDeclaration> aggregatorParameters) private static voidvalidateIndexedParameterDeclarations(int index, List<ResolverFacade.FieldParameterDeclaration> declarations, List<String> errors) private static voidvalidateIndexedParameters(NavigableMap<Integer, List<ResolverFacade.FieldParameterDeclaration>> indexedParameters, List<String> errors) validateLifecycleMethodParameters(Method method, Annotation annotation, ResolverFacade originalResolverFacade, ResolverFacade lifecycleMethodResolverFacade, Map<ParameterDeclaration, ResolverFacade.ResolvableParameterDeclaration> parameterDeclarationMapping)
-
Field Details
-
parameterIndexOffset
private final int parameterIndexOffset -
resolvers
-
indexedParameterDeclarations
-
aggregatorParameters
-
requiredParameterCount
-
-
Constructor Details
-
Method Details
-
create
-
create
-
create
-
create
Create a newResolverFacadefor the suppliedExecutable.This method takes a best-effort approach at enforcing the following policy for parameterized class constructors and parameterized test methods that accept aggregators as arguments.
- zero or more indexed arguments come first.
- zero or more aggregators come next.
- zero or more arguments supplied by other
ParameterResolverimplementations come last.
-
getIndexedParameterDeclarations
ParameterDeclarations getIndexedParameterDeclarations() -
getRequiredParameterCount
ResolverFacade.RequiredParameterCount getRequiredParameterCount() -
isSupportedParameter
boolean isSupportedParameter(org.junit.jupiter.api.extension.ParameterContext parameterContext, EvaluatedArgumentSet arguments) -
getParameterName
-
determineConsumedArgumentLength
int determineConsumedArgumentLength(int totalLength) Determine the length of the arguments array that is considered consumed by the parameter declarations in this resolver.If an aggregator is present, all arguments are considered consumed. Otherwise, the consumed argument length is the minimum of the total length and the number of indexed parameter declarations.
-
determineConsumedArgumentCount
Determine the number of arguments that are considered consumed by the parameter declarations in this resolver.If an aggregator is present, all arguments are considered consumed. Otherwise, the consumed argument count, is the number of indexes that correspond to indexed parameter declarations.
-
createLifecycleMethodParameterResolver
ArgumentSetLifecycleMethod.ParameterResolver createLifecycleMethodParameterResolver(Method method, Annotation annotation) -
resolve
Object resolve(org.junit.jupiter.api.extension.ParameterContext parameterContext, org.junit.jupiter.api.extension.ExtensionContext extensionContext, EvaluatedArgumentSet arguments, int invocationIndex, ResolutionCache resolutionCache) Resolve the parameter for the supplied context using the supplied arguments. -
findDeclaration
private Optional<? extends ResolverFacade.ResolvableParameterDeclaration> findDeclaration(int parameterIndex) -
resolveAndInjectFields
void resolveAndInjectFields(Object testInstance, org.junit.jupiter.api.extension.ExtensionContext extensionContext, EvaluatedArgumentSet arguments, int invocationIndex, ResolutionCache resolutionCache) -
getAllParameterDeclarations
-
setField
private void setField(Object testInstance, ResolverFacade.FieldParameterDeclaration declaration, org.junit.jupiter.api.extension.ExtensionContext extensionContext, EvaluatedArgumentSet arguments, int invocationIndex, ResolutionCache resolutionCache) -
resolve
private Object resolve(ResolverFacade.ResolvableParameterDeclaration parameterDeclaration, org.junit.jupiter.api.extension.ExtensionContext extensionContext, EvaluatedArgumentSet arguments, int invocationIndex, Optional<org.junit.jupiter.api.extension.ParameterContext> parameterContext) -
getResolver
private ResolverFacade.Resolver getResolver(org.junit.jupiter.api.extension.ExtensionContext extensionContext, ResolverFacade.ResolvableParameterDeclaration declaration) -
toLogicalIndex
private int toLogicalIndex(org.junit.jupiter.api.extension.ParameterContext parameterContext) -
validateLifecycleMethodParameters
private static List<String> validateLifecycleMethodParameters(Method method, Annotation annotation, ResolverFacade originalResolverFacade, ResolverFacade lifecycleMethodResolverFacade, Map<ParameterDeclaration, ResolverFacade.ResolvableParameterDeclaration> parameterDeclarationMapping) -
parameterName
-
configurationErrorOrSuccess
-
validateIndexedParameterDeclarations
private static void validateIndexedParameterDeclarations(int index, List<ResolverFacade.FieldParameterDeclaration> declarations, List<String> errors) -
validateAggregatorParameters
private static void validateAggregatorParameters(Set<ResolverFacade.FieldParameterDeclaration> aggregatorParameters, List<String> errors) -
createConverter
private static ResolverFacade.Converter createConverter(ParameterDeclaration declaration, org.junit.jupiter.api.extension.ExtensionContext extensionContext) -
createAggregator
private static ResolverFacade.Aggregator createAggregator(ParameterDeclaration declaration, org.junit.jupiter.api.extension.ExtensionContext extensionContext) -
parameterResolutionException
-