Skip to content

Commit

Permalink
Polish TestDescriptor implementations
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrannen committed May 25, 2016
1 parent 26b0dbf commit 078b5a2
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 24 deletions.
Expand Up @@ -17,7 +17,6 @@
import static org.junit.gen5.engine.junit5.descriptor.LifecycleMethodUtils.findBeforeEachMethods;
import static org.junit.gen5.engine.junit5.execution.MethodInvocationContextFactory.methodInvocationContext;

import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Set;
Expand Down Expand Up @@ -245,9 +244,8 @@ private void invokeMethodInTestExtensionContext(Method method, TestExtensionCont
}

@Override
protected String generateDefaultDisplayName(AnnotatedElement element) {
Class<?> testClass = (Class<?>) element;
String name = testClass.getName();
protected String generateDefaultDisplayName() {
String name = this.testClass.getName();
int index = name.lastIndexOf('.');
return name.substring(index + 1);
}
Expand Down
Expand Up @@ -10,22 +10,18 @@

package org.junit.gen5.engine.junit5.descriptor;

import static org.junit.gen5.commons.meta.API.Usage.Internal;

import org.junit.gen5.api.DynamicTest;
import org.junit.gen5.commons.meta.API;
import org.junit.gen5.engine.TestDescriptor;
import org.junit.gen5.engine.TestSource;
import org.junit.gen5.engine.UniqueId;
import org.junit.gen5.engine.support.descriptor.AbstractTestDescriptor;

/**
* {@link TestDescriptor} for dynamic tests.
* {@link TestDescriptor} for a {@link DynamicTest}.
*
* @since 5.0
*/
@API(Internal)
public class DynamicTestTestDescriptor extends AbstractTestDescriptor {
class DynamicTestTestDescriptor extends AbstractTestDescriptor {

private final DynamicTest dynamicTest;

Expand Down
Expand Up @@ -60,11 +60,11 @@ protected String determineDisplayName(AnnotatedElement element) {
return findAnnotation(element, DisplayName.class)
.map(DisplayName::value)
.filter(StringUtils::isNotBlank)
.orElse(generateDefaultDisplayName(element));
.orElse(generateDefaultDisplayName());
// @formatter:on
}

protected abstract String generateDefaultDisplayName(AnnotatedElement element);
protected abstract String generateDefaultDisplayName();

protected ExtensionRegistry populateNewExtensionRegistryFromExtendWith(AnnotatedElement annotatedElement,
ExtensionRegistry existingExtensionRegistry) {
Expand Down
Expand Up @@ -14,7 +14,6 @@
import static org.junit.gen5.commons.meta.API.Usage.Internal;
import static org.junit.gen5.engine.junit5.execution.MethodInvocationContextFactory.methodInvocationContext;

import java.lang.reflect.AnnotatedElement;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Set;
Expand Down Expand Up @@ -237,10 +236,9 @@ private void invokeAfterEachCallbacks(ExtensionRegistry registry, TestExtensionC
}

@Override
protected String generateDefaultDisplayName(AnnotatedElement element) {
Method method = (Method) element;
return String.format("%s(%s)", method.getName(),
StringUtils.nullSafeToString(Class::getSimpleName, method.getParameterTypes()));
protected String generateDefaultDisplayName() {
return String.format("%s(%s)", this.testMethod.getName(),
StringUtils.nullSafeToString(Class::getSimpleName, this.testMethod.getParameterTypes()));
}

}
Expand Up @@ -12,7 +12,6 @@

import static org.junit.gen5.commons.meta.API.Usage.Internal;

import java.lang.reflect.AnnotatedElement;
import java.util.Set;

import org.junit.gen5.api.extension.ExtensionContext;
Expand Down Expand Up @@ -62,9 +61,8 @@ public final Set<TestTag> getTags() {
}

@Override
protected String generateDefaultDisplayName(AnnotatedElement element) {
Class<?> testClass = (Class<?>) element;
return testClass.getSimpleName();
protected String generateDefaultDisplayName() {
return getTestClass().getSimpleName();
}

}
Expand Up @@ -34,7 +34,6 @@
import org.junit.gen5.engine.junit5.execution.JUnit5EngineExecutionContext;
import org.junit.gen5.engine.junit5.execution.MethodInvoker;
import org.junit.gen5.engine.junit5.execution.ThrowableCollector;
import org.junit.gen5.engine.support.hierarchical.Leaf;
import org.junit.gen5.engine.support.hierarchical.SingleTestExecutor;

/**
Expand All @@ -43,10 +42,12 @@
* @since 5.0
*/
@API(Internal)
public class TestFactoryTestDescriptor extends MethodTestDescriptor implements Leaf<JUnit5EngineExecutionContext> {
public class TestFactoryTestDescriptor extends MethodTestDescriptor {

public static final String DYNAMIC_TEST_SEGMENT_TYPE = "dynamic-test";

private static final SingleTestExecutor singleTestExecutor = new SingleTestExecutor();

public TestFactoryTestDescriptor(UniqueId uniqueId, Class<?> testClass, Method testMethod) {
super(uniqueId, testClass, testMethod);
}
Expand Down Expand Up @@ -120,7 +121,7 @@ private void registerAndExecute(DynamicTest dynamicTest, int index, EngineExecut

listener.dynamicTestRegistered(dynamicTestTestDescriptor);
listener.executionStarted(dynamicTestTestDescriptor);
TestExecutionResult result = new SingleTestExecutor().executeSafely(dynamicTest.getExecutable()::execute);
TestExecutionResult result = singleTestExecutor.executeSafely(dynamicTest.getExecutable()::execute);
listener.executionFinished(dynamicTestTestDescriptor, result);
}

Expand Down

0 comments on commit 078b5a2

Please sign in to comment.