private Set<Description> determineDescendants(Optional<? extends TestDescriptor> identifiedTestDescriptor) { // @formatter:off return identifiedTestDescriptor.map( testDescriptor -> testDescriptor .getDescendants() .stream() .map(VintageTestDescriptor.class::cast) .map(VintageTestDescriptor::getDescription) .collect(toSet())) .orElseGet(Collections::emptySet); // @formatter:on }
/** * Get the immutable set of all <em>descendants</em> of this descriptor. * * <p>A <em>descendant</em> is a child of this descriptor or a child of one of * its children, recursively. * * @see #getChildren() */ default Set<? extends TestDescriptor> getDescendants() { Set<TestDescriptor> descendants = new LinkedHashSet<>(); descendants.addAll(getChildren()); for (TestDescriptor child : getChildren()) { descendants.addAll(child.getDescendants()); } return Collections.unmodifiableSet(descendants); }
@Example void staticMethodIsSkipped() { LauncherDiscoveryRequest discoveryRequest = request().selectors(selectMethod(SimpleExampleTests.class, "staticExample")) .build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(2); assertThat(count(engineDescriptor, isSkipDecorator)).isEqualTo(1); }
@Example void methodWithJupiterAnnotationIsSkipped() { LauncherDiscoveryRequest discoveryRequest = request().selectors(selectMethod(SimpleExampleTests.class, "withJupiterAnnotation")) .build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(2); assertThat(count(engineDescriptor, isSkipDecorator)).isEqualTo(1); } }
@Example void discoverClassWithOverloadedExamples() { LauncherDiscoveryRequest discoveryRequest = request().selectors(selectClass(ContainerWithOverloadedExamples.class)).build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(7); assertThat(count(engineDescriptor, isClassDescriptor)).isEqualTo(1); assertThat(count(engineDescriptor, isPropertyDescriptor)).isEqualTo(6); assertThat(count(engineDescriptor, isExample(ContainerWithOverloadedExamples.class, "succeeding"))).isEqualTo(1); }
@Example void discoverContainersWithinGroup() { LauncherDiscoveryRequest discoveryRequest = request().selectors(selectClass(TopLevelContainerWithGroups.class)).build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(9); assertThat(count(engineDescriptor, isClassDescriptor)).isEqualTo(5); }
@Example void discoverInnerContainerFromClass() { LauncherDiscoveryRequest discoveryRequest = request() .selectors(selectClass(TopLevelContainerWithGroups.InnerGroup.InnerInnerGroup.class)).build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(4); assertThat(count(engineDescriptor, isClassDescriptor)).isEqualTo(3); assertThat(count(engineDescriptor, isPropertyDescriptor)).isEqualTo(1); }
@Example void discoverNestedContainerAnnotatedWithGroup(){ LauncherDiscoveryRequest discoveryRequest = request().selectors(selectClass(ClassWithContainer.NestedGroupAnnotatedContainer.class)) .build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(2); assertThat(count(engineDescriptor, isClassDescriptor)).isEqualTo(1); }
@Example void discoverNestedContainerNotInGroup() { LauncherDiscoveryRequest discoveryRequest = request().selectors(selectClass(TopLevelContainerWithNoGroups.NestedContainer.class)) .build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(2); assertThat(count(engineDescriptor, isClassDescriptor)).isEqualTo(1); }
@Example void discoverInnerContainerFromUniqueId() { UniqueId uniqueId = uniqueIdForClassContainer(TopLevelContainerWithGroups.class, TopLevelContainerWithGroups.InnerGroup.class, TopLevelContainerWithGroups.InnerGroup.InnerInnerGroup.class); LauncherDiscoveryRequest discoveryRequest = request().selectors(selectUniqueId(uniqueId)).build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(4); assertThat(count(engineDescriptor, isClassDescriptor)).isEqualTo(3); assertThat(count(engineDescriptor, isPropertyDescriptor)).isEqualTo(1); }
@Example void discoverFromClass() { LauncherDiscoveryRequest discoveryRequest = request().selectors(selectClass(MixedTests.class)).build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(6); }
@Example void discoverFromMethod() { LauncherDiscoveryRequest discoveryRequest = request().selectors(selectMethod(SimpleExampleTests.class, "succeeding")).build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(2); }
@Example void discoverClassById() { UniqueId uniqueId = uniqueIdForClassContainer(SimpleExampleTests.class); LauncherDiscoveryRequest discoveryRequest = request().selectors(selectUniqueId(uniqueId)).build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(5); }
@Example void discoverPropertyById() { UniqueId uniqueId = uniqueIdForPropertyMethod(SimpleExampleTests.class, "succeeding"); LauncherDiscoveryRequest discoveryRequest = request().selectors(selectUniqueId(uniqueId)).build(); TestDescriptor engineDescriptor = discoverTests(discoveryRequest); assertThat(engineDescriptor.getDescendants().size()).isEqualTo(2); }