Skip to content

Commit

Permalink
Introduce DiscoverSelectors collection of select methods
Browse files Browse the repository at this point in the history
Issue: #360
  • Loading branch information
sbrannen committed Jun 27, 2016
1 parent f2ea19c commit ac64064
Show file tree
Hide file tree
Showing 34 changed files with 325 additions and 176 deletions.
4 changes: 2 additions & 2 deletions documentation/src/test/java/example/UsingTheLauncherDemo.java
Expand Up @@ -12,8 +12,8 @@

// tag::imports[]
import static org.junit.platform.engine.discovery.ClassFilter.includeClassNamePattern;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.PackageSelector.selectPackage;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectPackage;

import org.junit.jupiter.api.Test;
import org.junit.platform.launcher.Launcher;
Expand Down
Expand Up @@ -10,7 +10,7 @@

package org.junit.jupiter.engine;

import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import org.junit.platform.engine.ExecutionRequest;
Expand Down
Expand Up @@ -12,7 +12,7 @@

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import org.junit.jupiter.api.Disabled;
Expand Down
Expand Up @@ -11,7 +11,8 @@
package org.junit.jupiter.engine;

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectMethod;
import static org.junit.platform.engine.discovery.UniqueIdSelector.selectUniqueId;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

Expand All @@ -22,7 +23,6 @@
import org.junit.jupiter.api.Test;
import org.junit.jupiter.engine.discovery.JupiterUniqueIdBuilder;
import org.junit.platform.engine.TestDescriptor;
import org.junit.platform.engine.discovery.MethodSelector;
import org.junit.platform.launcher.TestDiscoveryRequest;

/**
Expand Down Expand Up @@ -58,8 +58,7 @@ public void discoverMethodByUniqueId() {
public void discoverMethodByMethodReference() throws NoSuchMethodException {
Method testMethod = LocalTestCase.class.getDeclaredMethod("test3", new Class[0]);

TestDiscoveryRequest request = request().selectors(
MethodSelector.selectMethod(LocalTestCase.class, testMethod)).build();
TestDiscoveryRequest request = request().selectors(selectMethod(LocalTestCase.class, testMethod)).build();
TestDescriptor engineDescriptor = discoverTests(request);
assertEquals(2, engineDescriptor.getAllDescendants().size(), "# resolved test descriptors");
}
Expand Down
Expand Up @@ -15,8 +15,8 @@
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.jupiter.api.DynamicTest.dynamicTest;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.MethodSelector.selectMethod;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectMethod;
import static org.junit.platform.engine.test.event.ExecutionEventConditions.assertRecordedExecutionEventsContainsExactly;
import static org.junit.platform.engine.test.event.ExecutionEventConditions.container;
import static org.junit.platform.engine.test.event.ExecutionEventConditions.dynamicTestRegistered;
Expand Down
Expand Up @@ -12,6 +12,7 @@

import static org.assertj.core.api.Assertions.allOf;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectMethod;
import static org.junit.platform.engine.test.event.ExecutionEventConditions.assertRecordedExecutionEventsContainsExactly;
import static org.junit.platform.engine.test.event.ExecutionEventConditions.container;
import static org.junit.platform.engine.test.event.ExecutionEventConditions.engine;
Expand All @@ -35,7 +36,6 @@
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.platform.engine.discovery.MethodSelector;
import org.junit.platform.engine.test.event.ExecutionEventRecorder;
import org.junit.platform.launcher.TestDiscoveryRequest;
import org.opentest4j.AssertionFailedError;
Expand All @@ -50,8 +50,7 @@ public class ExceptionHandlingTests extends AbstractJupiterTestEngineTests {
@Test
public void failureInTestMethodIsRegistered() throws NoSuchMethodException {
Method method = FailureTestCase.class.getDeclaredMethod("failingTest");
TestDiscoveryRequest request = request().selectors(
MethodSelector.selectMethod(FailureTestCase.class, method)).build();
TestDiscoveryRequest request = request().selectors(selectMethod(FailureTestCase.class, method)).build();

ExecutionEventRecorder eventRecorder = executeTests(request);

Expand All @@ -66,8 +65,7 @@ public void failureInTestMethodIsRegistered() throws NoSuchMethodException {
@Test
public void uncheckedExceptionInTestMethodIsRegistered() throws NoSuchMethodException {
Method method = FailureTestCase.class.getDeclaredMethod("testWithUncheckedException");
TestDiscoveryRequest request = request().selectors(
MethodSelector.selectMethod(FailureTestCase.class, method)).build();
TestDiscoveryRequest request = request().selectors(selectMethod(FailureTestCase.class, method)).build();

ExecutionEventRecorder eventRecorder = executeTests(request);

Expand All @@ -82,8 +80,7 @@ public void uncheckedExceptionInTestMethodIsRegistered() throws NoSuchMethodExce
@Test
public void checkedExceptionInTestMethodIsRegistered() throws NoSuchMethodException {
Method method = FailureTestCase.class.getDeclaredMethod("testWithCheckedException");
TestDiscoveryRequest request = request().selectors(
MethodSelector.selectMethod(FailureTestCase.class, method)).build();
TestDiscoveryRequest request = request().selectors(selectMethod(FailureTestCase.class, method)).build();

ExecutionEventRecorder eventRecorder = executeTests(request);

Expand All @@ -98,8 +95,7 @@ public void checkedExceptionInTestMethodIsRegistered() throws NoSuchMethodExcept
@Test
public void checkedExceptionInBeforeEachIsRegistered() throws NoSuchMethodException {
Method method = FailureTestCase.class.getDeclaredMethod("succeedingTest");
TestDiscoveryRequest request = request().selectors(
MethodSelector.selectMethod(FailureTestCase.class, method)).build();
TestDiscoveryRequest request = request().selectors(selectMethod(FailureTestCase.class, method)).build();

FailureTestCase.exceptionToThrowInBeforeEach = Optional.of(new IOException("checked"));

Expand All @@ -115,8 +111,7 @@ public void checkedExceptionInBeforeEachIsRegistered() throws NoSuchMethodExcept
@Test
public void checkedExceptionInAfterEachIsRegistered() throws NoSuchMethodException {
Method method = FailureTestCase.class.getDeclaredMethod("succeedingTest");
TestDiscoveryRequest request = request().selectors(
MethodSelector.selectMethod(FailureTestCase.class, method)).build();
TestDiscoveryRequest request = request().selectors(selectMethod(FailureTestCase.class, method)).build();

FailureTestCase.exceptionToThrowInAfterEach = Optional.of(new IOException("checked"));

Expand All @@ -132,8 +127,7 @@ public void checkedExceptionInAfterEachIsRegistered() throws NoSuchMethodExcepti
@Test
public void checkedExceptionInAfterEachIsSuppressedByExceptionInTest() throws NoSuchMethodException {
Method method = FailureTestCase.class.getDeclaredMethod("testWithUncheckedException");
TestDiscoveryRequest request = request().selectors(
MethodSelector.selectMethod(FailureTestCase.class, method)).build();
TestDiscoveryRequest request = request().selectors(selectMethod(FailureTestCase.class, method)).build();

FailureTestCase.exceptionToThrowInAfterEach = Optional.of(new IOException("checked"));

Expand All @@ -155,8 +149,7 @@ public void checkedExceptionInAfterEachIsSuppressedByExceptionInTest() throws No
@Test
public void checkedExceptionInBeforeAllIsRegistered() throws NoSuchMethodException {
Method method = FailureTestCase.class.getDeclaredMethod("succeedingTest");
TestDiscoveryRequest request = request().selectors(
MethodSelector.selectMethod(FailureTestCase.class, method)).build();
TestDiscoveryRequest request = request().selectors(selectMethod(FailureTestCase.class, method)).build();

FailureTestCase.exceptionToThrowInBeforeAll = Optional.of(new IOException("checked"));

Expand All @@ -173,8 +166,7 @@ public void checkedExceptionInBeforeAllIsRegistered() throws NoSuchMethodExcepti
@Test
public void checkedExceptionInAfterAllIsRegistered() throws NoSuchMethodException {
Method method = FailureTestCase.class.getDeclaredMethod("succeedingTest");
TestDiscoveryRequest request = request().selectors(
MethodSelector.selectMethod(FailureTestCase.class, method)).build();
TestDiscoveryRequest request = request().selectors(selectMethod(FailureTestCase.class, method)).build();

FailureTestCase.exceptionToThrowInAfterAll = Optional.of(new IOException("checked"));

Expand Down
Expand Up @@ -12,7 +12,7 @@

import static org.junit.jupiter.api.Assertions.assertAll;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import org.junit.jupiter.api.AfterEach;
Expand Down
Expand Up @@ -12,7 +12,7 @@

import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import java.util.HashMap;
Expand Down
Expand Up @@ -13,7 +13,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import org.junit.jupiter.api.AfterEach;
Expand Down
Expand Up @@ -13,7 +13,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.jupiter.api.Assumptions.assumeTrue;
import static org.junit.platform.engine.discovery.MethodSelector.selectMethod;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectMethod;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import org.junit.jupiter.api.AfterEach;
Expand Down
Expand Up @@ -20,7 +20,10 @@
import static org.junit.jupiter.engine.discovery.JupiterUniqueIdBuilder.uniqueIdForClass;
import static org.junit.jupiter.engine.discovery.JupiterUniqueIdBuilder.uniqueIdForMethod;
import static org.junit.jupiter.engine.discovery.JupiterUniqueIdBuilder.uniqueIdForTestFactoryMethod;
import static org.junit.platform.engine.discovery.ClasspathSelector.selectClasspathRoots;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClasspathRoots;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectMethod;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectPackage;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import java.io.File;
Expand Down Expand Up @@ -60,7 +63,7 @@ public class DiscoverySelectorResolverTests {

@Test
public void singleClassResolution() {
ClassSelector selector = ClassSelector.selectClass(MyTestClass.class);
ClassSelector selector = selectClass(MyTestClass.class);

resolver.resolveSelectors(request().selectors(selector).build(), engineDescriptor);

Expand All @@ -75,8 +78,8 @@ public void singleClassResolution() {
@Test
public void duplicateClassSelectorOnlyResolvesOnce() {
resolver.resolveSelectors(request().selectors( //
ClassSelector.selectClass(MyTestClass.class), //
ClassSelector.selectClass(MyTestClass.class) //
selectClass(MyTestClass.class), //
selectClass(MyTestClass.class) //
).build(), engineDescriptor);

assertEquals(4, engineDescriptor.getAllDescendants().size());
Expand All @@ -89,8 +92,8 @@ public void duplicateClassSelectorOnlyResolvesOnce() {

@Test
public void twoClassesResolution() {
ClassSelector selector1 = ClassSelector.selectClass(MyTestClass.class);
ClassSelector selector2 = ClassSelector.selectClass(YourTestClass.class);
ClassSelector selector1 = selectClass(MyTestClass.class);
ClassSelector selector2 = selectClass(YourTestClass.class);

resolver.resolveSelectors(request().selectors(selector1, selector2).build(), engineDescriptor);

Expand All @@ -107,7 +110,7 @@ public void twoClassesResolution() {

@Test
public void classResolutionOfStaticNestedClass() {
ClassSelector selector = ClassSelector.selectClass(OtherTestClass.NestedTestClass.class);
ClassSelector selector = selectClass(OtherTestClass.NestedTestClass.class);

resolver.resolveSelectors(request().selectors(selector).build(), engineDescriptor);

Expand All @@ -121,7 +124,7 @@ public void classResolutionOfStaticNestedClass() {
@Test
public void methodResolution() throws NoSuchMethodException {
Method test1 = MyTestClass.class.getDeclaredMethod("test1");
MethodSelector selector = MethodSelector.selectMethod(test1.getDeclaringClass(), test1);
MethodSelector selector = selectMethod(test1.getDeclaringClass(), test1);

resolver.resolveSelectors(request().selectors(selector).build(), engineDescriptor);

Expand All @@ -133,8 +136,7 @@ public void methodResolution() throws NoSuchMethodException {

@Test
public void methodResolutionFromInheritedMethod() throws NoSuchMethodException {
MethodSelector selector = MethodSelector.selectMethod(HerTestClass.class,
MyTestClass.class.getDeclaredMethod("test1"));
MethodSelector selector = selectMethod(HerTestClass.class, MyTestClass.class.getDeclaredMethod("test1"));

resolver.resolveSelectors(request().selectors(selector).build(), engineDescriptor);

Expand All @@ -147,7 +149,7 @@ public void methodResolutionFromInheritedMethod() throws NoSuchMethodException {
@Test
public void resolvingSelectorOfNonTestMethodResolvesNothing() throws NoSuchMethodException {
Method notATest = MyTestClass.class.getDeclaredMethod("notATest");
MethodSelector selector = MethodSelector.selectMethod(notATest.getDeclaringClass(), notATest);
MethodSelector selector = selectMethod(notATest.getDeclaringClass(), notATest);
EngineDiscoveryRequest request = request().selectors(selector).build();
resolver.resolveSelectors(request, engineDescriptor);
assertTrue(engineDescriptor.getAllDescendants().isEmpty());
Expand Down Expand Up @@ -345,7 +347,7 @@ public void resolvingTestFactoryMethodByUniqueId() {

@Test
public void packageResolution() {
PackageSelector selector = PackageSelector.selectPackage("org.junit.jupiter.engine.descriptor.subpackage");
PackageSelector selector = selectPackage("org.junit.jupiter.engine.descriptor.subpackage");

resolver.resolveSelectors(request().selectors(selector).build(), engineDescriptor);

Expand Down Expand Up @@ -383,7 +385,7 @@ public void classpathResolution() {

@Test
public void nestedTestResolutionFromBaseClass() {
ClassSelector selector = ClassSelector.selectClass(TestCaseWithNesting.class);
ClassSelector selector = selectClass(TestCaseWithNesting.class);

resolver.resolveSelectors(request().selectors(selector).build(), engineDescriptor);

Expand All @@ -401,7 +403,7 @@ public void nestedTestResolutionFromBaseClass() {

@Test
public void nestedTestResolutionFromNestedTestClass() {
ClassSelector selector = ClassSelector.selectClass(TestCaseWithNesting.NestedTestCase.class);
ClassSelector selector = selectClass(TestCaseWithNesting.NestedTestCase.class);

resolver.resolveSelectors(request().selectors(selector).build(), engineDescriptor);

Expand Down Expand Up @@ -435,8 +437,7 @@ public void nestedTestResolutionFromUniqueId() {

@Test
public void doubleNestedTestResolutionFromClass() {
ClassSelector selector = ClassSelector.selectClass(
TestCaseWithNesting.NestedTestCase.DoubleNestedTestCase.class);
ClassSelector selector = selectClass(TestCaseWithNesting.NestedTestCase.DoubleNestedTestCase.class);

resolver.resolveSelectors(request().selectors(selector).build(), engineDescriptor);

Expand All @@ -452,8 +453,7 @@ public void doubleNestedTestResolutionFromClass() {

@Test
public void methodResolutionInDoubleNestedTestClass() throws NoSuchMethodException {
MethodSelector selector = MethodSelector.selectMethod(
TestCaseWithNesting.NestedTestCase.DoubleNestedTestCase.class,
MethodSelector selector = selectMethod(TestCaseWithNesting.NestedTestCase.DoubleNestedTestCase.class,
TestCaseWithNesting.NestedTestCase.DoubleNestedTestCase.class.getDeclaredMethod("testC"));

resolver.resolveSelectors(request().selectors(selector).build(), engineDescriptor);
Expand Down
Expand Up @@ -12,7 +12,7 @@

import static java.util.Arrays.asList;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import java.util.ArrayList;
Expand Down
Expand Up @@ -13,7 +13,7 @@
import static java.util.Arrays.asList;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import java.util.ArrayList;
Expand Down
Expand Up @@ -15,7 +15,7 @@
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import java.util.ArrayList;
Expand Down
Expand Up @@ -13,7 +13,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.fail;
import static org.junit.jupiter.engine.Constants.DEACTIVATE_CONDITIONS_PATTERN_PROPERTY_NAME;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import org.junit.jupiter.api.AfterEach;
Expand Down
Expand Up @@ -14,7 +14,7 @@
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.platform.engine.discovery.MethodSelector.selectMethod;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectMethod;
import static org.junit.platform.engine.test.event.ExecutionEventConditions.assertRecordedExecutionEventsContainsExactly;
import static org.junit.platform.engine.test.event.ExecutionEventConditions.container;
import static org.junit.platform.engine.test.event.ExecutionEventConditions.engine;
Expand Down
Expand Up @@ -12,7 +12,7 @@

import static java.util.Arrays.asList;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.platform.engine.discovery.ClassSelector.selectClass;
import static org.junit.platform.engine.discovery.DiscoverySelectors.selectClass;
import static org.junit.platform.launcher.core.TestDiscoveryRequestBuilder.request;

import java.util.ArrayList;
Expand Down

0 comments on commit ac64064

Please sign in to comment.