Skip to content

Commit

Permalink
Clean up warnings, organize imports, etc.
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrannen committed Dec 18, 2015
1 parent 3e6edc2 commit 08d1cdd
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 30 deletions.
Expand Up @@ -12,29 +12,26 @@

import static java.util.Arrays.asList;
import static org.junit.gen5.api.Assertions.assertEquals;
import static org.junit.gen5.engine.TestPlanSpecification.*;
import static org.junit.gen5.engine.TestPlanSpecification.build;
import static org.junit.gen5.engine.TestPlanSpecification.forClass;

import java.util.ArrayList;
import java.util.List;

import org.junit.Assert;
import org.junit.gen5.api.AfterAll;
import org.junit.gen5.api.BeforeAll;
import org.junit.gen5.api.Test;
import org.junit.gen5.api.extension.AfterAllExtensionPoint;
import org.junit.gen5.api.extension.AfterEachExtensionPoint;
import org.junit.gen5.api.extension.BeforeAllExtensionPoint;
import org.junit.gen5.api.extension.BeforeEachExtensionPoint;
import org.junit.gen5.api.extension.ContainerExtensionContext;
import org.junit.gen5.api.extension.ExtendWith;
import org.junit.gen5.api.extension.ExtensionRegistrar;
import org.junit.gen5.api.extension.ExtensionRegistry;
import org.junit.gen5.api.extension.TestExtensionContext;
import org.junit.gen5.engine.TestPlanSpecification;

/**
* Integration tests that verify support of {@link BeforeAll}, {@link AfterAll}, and {@link BeforeAllExtensionPoint} in
* the {@link JUnit5TestEngine}.
* Integration tests that verify support of {@link BeforeAll}, {@link AfterAll},
* and {@link BeforeAllExtensionPoint} in the {@link JUnit5TestEngine}.
*
* @since 5.0
*/
Expand All @@ -46,8 +43,8 @@ public void beforeAllAndAfterAllCallbacks() {

TrackingEngineExecutionListener listener = executeTests(spec, 2);

Assert.assertEquals("# tests started", 1, listener.testStartedCount.get());
Assert.assertEquals("# tests succeeded", 1, listener.testSucceededCount.get());
assertEquals(1, listener.testStartedCount.get(), "# tests started");
assertEquals(1, listener.testSucceededCount.get(), "# tests succeeded");

// @formatter:off
assertEquals(asList(
Expand Down
Expand Up @@ -10,15 +10,17 @@

package org.junit.gen5.engine.junit5;

import static org.junit.gen5.api.Assertions.*;
import static org.junit.gen5.api.Assertions.assertTrue;
import static org.junit.gen5.api.Assertions.fail;
import static org.junit.gen5.api.Assumptions.assumeTrue;
import static org.junit.gen5.engine.TestPlanSpecification.*;
import static org.junit.gen5.engine.TestPlanSpecification.build;
import static org.junit.gen5.engine.TestPlanSpecification.forClass;
import static org.junit.gen5.engine.TestPlanSpecification.forUniqueId;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;

import org.junit.Assert;
import org.junit.Ignore;
import org.junit.gen5.api.AfterEach;
import org.junit.gen5.api.BeforeEach;
import org.junit.gen5.api.Test;
Expand Down
Expand Up @@ -10,20 +10,26 @@

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

import static org.junit.Assert.*;
import static org.junit.gen5.api.Assertions.assertEquals;
import static org.junit.gen5.api.Assertions.assertTrue;
import static org.junit.gen5.api.Assertions.expectThrows;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

import org.junit.Before;
import org.junit.Test;
import org.junit.gen5.api.Assertions;
import org.junit.gen5.api.extension.ExtensionConfigurationException;
import org.junit.gen5.api.extension.ExtensionPoint;
import org.junit.gen5.api.extension.ExtensionPoint.Position;

@SuppressWarnings("unchecked")
/**
* Unit tests for {@link ExtensionPointSorter}.
*
* @since 5.0
*/
@SuppressWarnings({ "unchecked", "rawtypes" })
public class ExtensionPointSortingTest {

private ExtensionPointSorter sorter;
Expand Down Expand Up @@ -117,7 +123,7 @@ public void twoExtensions_withPositionINNERMOST_throwException() {
pointsToSort.add(point1);
pointsToSort.add(point2);

Assertions.expectThrows(ExtensionConfigurationException.class, () -> sorter.sort(pointsToSort));
expectThrows(ExtensionConfigurationException.class, () -> sorter.sort(pointsToSort));
}

@Test
Expand All @@ -128,17 +134,17 @@ public void twoExtensions_withPositionOUTERMOST_throwException() {
pointsToSort.add(point1);
pointsToSort.add(point2);

Assertions.expectThrows(ExtensionConfigurationException.class, () -> sorter.sort(pointsToSort));
expectThrows(ExtensionConfigurationException.class, () -> sorter.sort(pointsToSort));
}

protected void assertSorting(RegisteredExtensionPoint... points) {
sorter.sort(pointsToSort);

String failureMessage = String.format("Expected %s but was %s", Arrays.asList(points), pointsToSort);

assertEquals(failureMessage, points.length, pointsToSort.size());
assertEquals(points.length, pointsToSort.size(), failureMessage);
for (int i = 0; i < points.length; i++) {
assertTrue(failureMessage, points[i] == pointsToSort.get(i));
assertTrue(points[i] == pointsToSort.get(i), failureMessage);
}
}

Expand Down
Expand Up @@ -28,20 +28,22 @@ public class ExtensionPointSorter {

/**
* Sort the list of extension points according to their specified {@linkplain Position}.
* The list instance will be resorted.
*
* <p>The list instance will be resorted.
*
* @param registeredExtensionPoints List of extension points in order of registration
* @param <T> concrete subtype of {@linkplain ExtensionPoint}
* @param <T> concrete subtype of {@link ExtensionPoint}
*/
public <T extends ExtensionPoint> void sort(List<RegisteredExtensionPoint<T>> registeredExtensionPoints) {

checkPositionUnique(registeredExtensionPoints, Position.INNERMOST);
checkPositionUnique(registeredExtensionPoints, Position.OUTERMOST);
registeredExtensionPoints.sort(new LocalComparator());
registeredExtensionPoints.sort(new DefaultComparator());
}

private <T extends ExtensionPoint> void checkPositionUnique(
List<RegisteredExtensionPoint<T>> registeredExtensionPoints, Position positionType) {

if (countPosition(registeredExtensionPoints, positionType) > 1) {
List<String> conflictingExtensions = conflictingExtensions(registeredExtensionPoints, positionType);
String exceptionMessage = String.format("Conflicting extensions: %s", conflictingExtensions);
Expand All @@ -51,24 +53,28 @@ private <T extends ExtensionPoint> void checkPositionUnique(

private <T extends ExtensionPoint> long countPosition(List<RegisteredExtensionPoint<T>> registeredExtensionPoints,
Position positionToCount) {

return registeredExtensionPoints.stream() //
.filter(point -> point.getPosition() == positionToCount) //
.count();
}

private <T extends ExtensionPoint> List<String> conflictingExtensions(
List<RegisteredExtensionPoint<T>> registeredExtensionPoints, Position positionToFind) {

return registeredExtensionPoints.stream() //
.filter(point -> point.getPosition() == positionToFind) //
.map(RegisteredExtensionPoint::getExtensionName) //
.collect(Collectors.toList());
}

private class LocalComparator implements Comparator<RegisteredExtensionPoint> {
private static class DefaultComparator implements Comparator<RegisteredExtensionPoint<?>> {

@Override
public int compare(RegisteredExtensionPoint first, RegisteredExtensionPoint second) {
public int compare(RegisteredExtensionPoint<?> first, RegisteredExtensionPoint<?> second) {
return Integer.compare(first.getPosition().sortingOrder, second.getPosition().sortingOrder);
}

}

}
Expand Up @@ -12,19 +12,22 @@

import org.junit.gen5.api.extension.ExtensionPoint;
import org.junit.gen5.api.extension.ExtensionPoint.Position;
import org.junit.gen5.commons.util.ToStringBuilder;

/**
* Represents an {@linkplain ExtensionPoint extension} registered within a
* {@linkplain TestExtensionRegistry}
* Represents an {@linkplain ExtensionPoint extension} registered in a
* {@link TestExtensionRegistry}.
*
* @param <T> The concrete subtype of {@linkplain ExtensionPoint} to be registered
* @since 5.0
* @param <T> the concrete subtype of {@link ExtensionPoint} to be registered
*/
@SuppressWarnings("unused")
public class RegisteredExtensionPoint<T extends ExtensionPoint> {

private final T extensionPoint;

private final Position position;
private String extensionName;

private final String extensionName;

public RegisteredExtensionPoint(T extensionPoint, Position position, String extensionName) {
this.extensionPoint = extensionPoint;
Expand All @@ -46,6 +49,12 @@ public String getExtensionName() {

@Override
public String toString() {
return String.format("RegisteredExtensionPoint(%s, '%s')", position, extensionName);
// @formatter:off
return new ToStringBuilder(this)
.append("position", this.position)
.append("extensionName", this.extensionName)
.toString();
// @formatter:on
}

}

0 comments on commit 08d1cdd

Please sign in to comment.