1111package org .junit .jupiter .engine .discovery ;
1212
1313import static java .util .Collections .singleton ;
14+ import static java .util .stream .Collectors .toList ;
1415import static org .assertj .core .api .Assertions .assertThat ;
1516import static org .junit .jupiter .api .Assertions .assertEquals ;
1617import static org .junit .jupiter .api .Assertions .assertSame ;
3637import java .nio .file .Paths ;
3738import java .util .ArrayList ;
3839import java .util .List ;
39- import java .util .stream .Collectors ;
4040import java .util .stream .Stream ;
4141
4242import org .junit .jupiter .api .DynamicTest ;
@@ -322,32 +322,6 @@ void twoMethodResolutionsByUniqueId() {
322322 assertSame (classFromMethod1 , classFromMethod2 );
323323 }
324324
325- @ Test
326- void resolvingDynamicTestByUniqueIdResolvesOnlyUpToParentTestFactory () {
327- UniqueIdSelector selector = selectUniqueId (
328- uniqueIdForTestFactoryMethod (MyTestClass .class , "dynamicTest()" ).append (
329- TestFactoryTestDescriptor .DYNAMIC_TEST_SEGMENT_TYPE , "#1" ));
330-
331- resolver .resolveSelectors (request ().selectors (selector ).build (), engineDescriptor );
332-
333- assertThat (engineDescriptor .getDescendants ()).hasSize (2 );
334-
335- assertThat (uniqueIds ()).containsSequence (uniqueIdForClass (MyTestClass .class ),
336- uniqueIdForTestFactoryMethod (MyTestClass .class , "dynamicTest()" ));
337- }
338-
339- @ Test
340- void resolvingTestFactoryMethodByUniqueId () {
341- UniqueIdSelector selector = selectUniqueId (uniqueIdForTestFactoryMethod (MyTestClass .class , "dynamicTest()" ));
342-
343- resolver .resolveSelectors (request ().selectors (selector ).build (), engineDescriptor );
344-
345- assertThat (engineDescriptor .getDescendants ()).hasSize (2 );
346-
347- assertThat (uniqueIds ()).containsSequence (uniqueIdForClass (MyTestClass .class ),
348- uniqueIdForTestFactoryMethod (MyTestClass .class , "dynamicTest()" ));
349- }
350-
351325 @ Test
352326 void packageResolutionUsingExplicitBasePackage () {
353327 PackageSelector selector = selectPackage ("org.junit.jupiter.engine.descriptor.subpackage" );
@@ -529,27 +503,49 @@ void nestedTestResolutionFromUniqueIdToMethod() {
529503 }
530504
531505 @ Test
532- void testTemplateMethodResolution () {
533- ClassSelector selector = selectClass (TestClassWithTemplate .class );
506+ void testFactoryMethodResolutionByUniqueId () {
507+ Class <?> clazz = MyTestClass .class ;
508+ UniqueId factoryUid = uniqueIdForTestFactoryMethod (clazz , "dynamicTest()" );
534509
535- resolver .resolveSelectors (request ().selectors (selector ).build (), engineDescriptor );
510+ resolver .resolveSelectors (request ().selectors (selectUniqueId ( factoryUid ) ).build (), engineDescriptor );
536511
537512 assertThat (engineDescriptor .getDescendants ()).hasSize (2 );
538- assertThat (uniqueIds ()).contains ( uniqueIdForTestTemplateMethod ( TestClassWithTemplate . class , "testTemplate()" ) );
513+ assertThat (uniqueIds ()).containsSequence ( uniqueIdForClass ( clazz ), factoryUid );
539514 }
540515
541516 @ Test
542- void resolvingTestTemplateInvocationByUniqueIdResolvesOnlyUpToParentTestTemplat () {
543- UniqueIdSelector selector = selectUniqueId (
544- uniqueIdForTestTemplateMethod (TestClassWithTemplate .class , "testTemplate()" ).append (
545- TestTemplateInvocationTestDescriptor .SEGMENT_TYPE , "#1" ));
517+ void testTemplateMethodResolutionByUniqueId () {
518+ Class <?> clazz = TestClassWithTemplate .class ;
519+ UniqueId templateUid = uniqueIdForTestTemplateMethod (clazz , "testTemplate()" );
546520
547- resolver .resolveSelectors (request ().selectors (selector ).build (), engineDescriptor );
521+ resolver .resolveSelectors (request ().selectors (selectUniqueId (templateUid )).build (), engineDescriptor );
522+
523+ assertThat (engineDescriptor .getDescendants ()).hasSize (2 );
524+ assertThat (uniqueIds ()).containsSequence (uniqueIdForClass (clazz ), templateUid );
525+ }
526+
527+ @ Test
528+ void resolvingDynamicTestByUniqueIdResolvesOnlyUpToParentTestFactory () {
529+ Class <?> clazz = MyTestClass .class ;
530+ UniqueId factoryUid = uniqueIdForTestFactoryMethod (clazz , "dynamicTest()" );
531+ UniqueId dynamicTestUid = factoryUid .append (TestFactoryTestDescriptor .DYNAMIC_TEST_SEGMENT_TYPE , "#1" );
532+
533+ resolver .resolveSelectors (request ().selectors (selectUniqueId (dynamicTestUid )).build (), engineDescriptor );
548534
549535 assertThat (engineDescriptor .getDescendants ()).hasSize (2 );
536+ assertThat (uniqueIds ()).containsSequence (uniqueIdForClass (clazz ), factoryUid );
537+ }
550538
551- assertThat (uniqueIds ()).containsSequence (uniqueIdForClass (TestClassWithTemplate .class ),
552- uniqueIdForTestTemplateMethod (TestClassWithTemplate .class , "testTemplate()" ));
539+ @ Test
540+ void resolvingTestTemplateInvocationByUniqueIdResolvesOnlyUpToParentTestTemplate () {
541+ Class <?> clazz = TestClassWithTemplate .class ;
542+ UniqueId templateUid = uniqueIdForTestTemplateMethod (clazz , "testTemplate()" );
543+ UniqueId invocationUid = templateUid .append (TestTemplateInvocationTestDescriptor .SEGMENT_TYPE , "#1" );
544+
545+ resolver .resolveSelectors (request ().selectors (selectUniqueId (invocationUid )).build (), engineDescriptor );
546+
547+ assertThat (engineDescriptor .getDescendants ()).hasSize (2 );
548+ assertThat (uniqueIds ()).containsSequence (uniqueIdForClass (clazz ), templateUid );
553549 }
554550
555551 private TestDescriptor descriptorByUniqueId (UniqueId uniqueId ) {
@@ -558,7 +554,7 @@ private TestDescriptor descriptorByUniqueId(UniqueId uniqueId) {
558554 }
559555
560556 private List <UniqueId > uniqueIds () {
561- return engineDescriptor .getDescendants ().stream ().map (TestDescriptor ::getUniqueId ).collect (Collectors . toList ());
557+ return engineDescriptor .getDescendants ().stream ().map (TestDescriptor ::getUniqueId ).collect (toList ());
562558 }
563559
564560}
0 commit comments