@API(status=EXPERIMENTAL, since="1.5") public static class SelectorResolver.Match extends Object
DiscoverySelector
into
a TestDescriptor
.
A match is exact if the DiscoverySelector
directly
represents the resulting TestDescriptor
, e.g. if a
ClassSelector
was resolved into the TestDescriptor
that
represents the test class. It is partial if the matching
TestDescriptor
does not directly correspond to the resolved
DiscoverySelector
, e.g. when resolving a UniqueIdSelector
that represents a dynamic child of the resolved TestDescriptor
.
In addition to the TestDescriptor
, a match may contain a
Supplier
of DiscoverySelectors
that may
be used to discover the children of the TestDescriptor
. The
algorithm implemented by EngineDiscoveryRequestResolver
expands all exact matches immediately, i.e. it
resolves all of their children. Partial matches will only be expanded in
case a subsequent resolution finds an exact match that contains a TestDescriptor
with the same unique ID.
SelectorResolver
,
Resolution#match(Match)
,
SelectorResolver.Resolution.matches(Set)
Modifier and Type | Method and Description |
---|---|
static SelectorResolver.Match |
exact(TestDescriptor testDescriptor)
Factory for creating an exact match without any children.
|
static SelectorResolver.Match |
exact(TestDescriptor testDescriptor,
Supplier<Set<? extends DiscoverySelector>> childSelectorsSupplier)
Factory for creating an exact match with potential children.
|
Set<? extends DiscoverySelector> |
expand()
Expand this match in order to resolve the children of the contained
TestDescriptor . |
TestDescriptor |
getTestDescriptor()
Get the contained
TestDescriptor . |
boolean |
isExact()
Whether this match is exact.
|
static SelectorResolver.Match |
partial(TestDescriptor testDescriptor)
Factory for creating a partial match without any children.
|
static SelectorResolver.Match |
partial(TestDescriptor testDescriptor,
Supplier<Set<? extends DiscoverySelector>> childSelectorsSupplier)
Factory for creating a partial match with potential children.
|
public static SelectorResolver.Match exact(TestDescriptor testDescriptor)
testDescriptor
- the resolved TestDescriptor
; never
null
TestDescriptor
;
never null
public static SelectorResolver.Match exact(TestDescriptor testDescriptor, Supplier<Set<? extends DiscoverySelector>> childSelectorsSupplier)
testDescriptor
- the resolved TestDescriptor
; never
null
childSelectorsSupplier
- a Supplier
of children
selectors that will be resolved when this match is expanded; never
null
TestDescriptor
;
never null
public static SelectorResolver.Match partial(TestDescriptor testDescriptor)
testDescriptor
- the resolved TestDescriptor
; never
null
TestDescriptor
;
never null
public static SelectorResolver.Match partial(TestDescriptor testDescriptor, Supplier<Set<? extends DiscoverySelector>> childSelectorsSupplier)
testDescriptor
- the resolved TestDescriptor
; never
null
childSelectorsSupplier
- a Supplier
of children
selectors that will be resolved when this match is expanded; never
null
TestDescriptor
;
never null
public boolean isExact()
true
if this match is exact; false
if it's
partialpublic TestDescriptor getTestDescriptor()
TestDescriptor
.TestDescriptor
; never null
public Set<? extends DiscoverySelector> expand()
TestDescriptor
.DiscoverySelectors
that represent the
children of the contained TestDescriptor
; never null
Copyright © 2020. All rights reserved.