Use the @TestInstance annotation

This commit is contained in:
baislsl
2018-02-08 03:00:55 +08:00
parent e7b119c95c
commit 36f5947cd7
11 changed files with 36 additions and 8 deletions

View File

@ -33,7 +33,8 @@ import java.util.List;
*/
public class HobbitsTest extends WeatherObserverTest<Hobbits> {
static Collection<Object[]> dataProvider() {
@Override
public Collection<Object[]> dataProvider() {
final List<Object[]> testData = new ArrayList<>();
testData.add(new Object[]{WeatherType.SUNNY, "The happy hobbits bade in the warm sun."});
testData.add(new Object[]{WeatherType.RAINY, "The hobbits look for cover from the rain."});

View File

@ -33,7 +33,8 @@ import java.util.List;
*/
public class OrcsTest extends WeatherObserverTest<Orcs> {
static Collection<Object[]> dataProvider() {
@Override
public Collection<Object[]> dataProvider() {
final List<Object[]> testData = new ArrayList<>();
testData.add(new Object[]{WeatherType.SUNNY, "The sun hurts the orcs' eyes."});
testData.add(new Object[]{WeatherType.RAINY, "The orcs are dripping wet."});

View File

@ -23,11 +23,14 @@
package com.iluwatar.observer;
import com.iluwatar.observer.utils.InMemoryAppender;
import java.util.Collection;
import java.util.function.Supplier;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
@ -39,6 +42,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
* @param <O> Type of WeatherObserver
* @author Jeroen Meulemeester
*/
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public abstract class WeatherObserverTest<O extends WeatherObserver> {
private InMemoryAppender appender;
@ -67,6 +71,8 @@ public abstract class WeatherObserverTest<O extends WeatherObserver> {
this.factory = factory;
}
public abstract Collection<Object[]> dataProvider();
/**
* Verify if the weather has the expected influence on the observer
*/

View File

@ -35,7 +35,8 @@ import java.util.List;
*/
public class GHobbitsTest extends ObserverTest<GHobbits> {
static Collection<Object[]> dataProvider() {
@Override
public Collection<Object[]> dataProvider() {
final List<Object[]> testData = new ArrayList<>();
testData.add(new Object[]{WeatherType.SUNNY, "The happy hobbits bade in the warm sun."});
testData.add(new Object[]{WeatherType.RAINY, "The hobbits look for cover from the rain."});

View File

@ -26,9 +26,11 @@ import com.iluwatar.observer.WeatherType;
import com.iluwatar.observer.utils.InMemoryAppender;
import org.junit.jupiter.api.AfterEach;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.TestInstance;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.MethodSource;
import java.util.Collection;
import java.util.function.Supplier;
import static org.junit.jupiter.api.Assertions.assertEquals;
@ -39,6 +41,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
* @param <O> Type of Observer
* @author Jeroen Meulemeester
*/
@TestInstance(TestInstance.Lifecycle.PER_CLASS)
public abstract class ObserverTest<O extends Observer> {
private InMemoryAppender appender;
@ -67,6 +70,8 @@ public abstract class ObserverTest<O extends Observer> {
this.factory = factory;
}
public abstract Collection<Object[]> dataProvider();
/**
* Verify if the weather has the expected influence on the observer
*/

View File

@ -35,7 +35,8 @@ import java.util.List;
*/
public class OrcsTest extends ObserverTest<GOrcs> {
static Collection<Object[]> dataProvider() {
@Override
public Collection<Object[]> dataProvider() {
final List<Object[]> testData = new ArrayList<>();
testData.add(new Object[]{WeatherType.SUNNY, "The sun hurts the orcs' eyes."});
testData.add(new Object[]{WeatherType.RAINY, "The orcs are dripping wet."});