File tree Expand file tree Collapse file tree 11 files changed +36
-8
lines changed
interpreter/src/test/java/com/iluwatar/interpreter
observer/src/test/java/com/iluwatar/observer Expand file tree Collapse file tree 11 files changed +36
-8
lines changed Original file line number Diff line number Diff line change 2323package com .iluwatar .interpreter ;
2424
2525import org .junit .jupiter .api .Disabled ;
26+ import org .junit .jupiter .api .TestInstance ;
2627import org .junit .jupiter .params .ParameterizedTest ;
2728import org .junit .jupiter .params .provider .Arguments ;
2829import org .junit .jupiter .params .provider .MethodSource ;
4344 * @param <E> Type of Expression
4445 * @author Jeroen Meulemeester
4546 */
47+ @ TestInstance (TestInstance .Lifecycle .PER_CLASS )
4648public abstract class ExpressionTest <E extends Expression > {
4749
4850 /**
@@ -88,6 +90,13 @@ static Stream<Arguments> prepareParameters(final IntBinaryOperator resultCalc) {
8890 this .factory = factory ;
8991 }
9092
93+ /**
94+ * Create a new set of test entries with the expected result
95+ *
96+ * @return The list of parameters used during this test
97+ */
98+ public abstract Stream <Arguments > expressionProvider ();
99+
91100 /**
92101 * Verify if the expression calculates the correct result when calling {@link E#interpret()}
93102 */
Original file line number Diff line number Diff line change @@ -38,7 +38,8 @@ public class MinusExpressionTest extends ExpressionTest<MinusExpression> {
3838 *
3939 * @return The list of parameters used during this test
4040 */
41- public static Stream <Arguments > expressionProvider () {
41+ @ Override
42+ public Stream <Arguments > expressionProvider () {
4243 return prepareParameters ((f , s ) -> f - s );
4344 }
4445
Original file line number Diff line number Diff line change @@ -38,7 +38,8 @@ public class MultiplyExpressionTest extends ExpressionTest<MultiplyExpression> {
3838 *
3939 * @return The list of parameters used during this test
4040 */
41- public static Stream <Arguments > expressionProvider () {
41+ @ Override
42+ public Stream <Arguments > expressionProvider () {
4243 return prepareParameters ((f , s ) -> f * s );
4344 }
4445
Original file line number Diff line number Diff line change @@ -42,7 +42,8 @@ public class NumberExpressionTest extends ExpressionTest<NumberExpression> {
4242 *
4343 * @return The list of parameters used during this test
4444 */
45- public static Stream <Arguments > expressionProvider () {
45+ @ Override
46+ public Stream <Arguments > expressionProvider () {
4647 return prepareParameters ((f , s ) -> f );
4748 }
4849
Original file line number Diff line number Diff line change @@ -38,7 +38,8 @@ public class PlusExpressionTest extends ExpressionTest<PlusExpression> {
3838 *
3939 * @return The list of parameters used during this test
4040 */
41- public static Stream <Arguments > expressionProvider () {
41+ @ Override
42+ public Stream <Arguments > expressionProvider () {
4243 return prepareParameters ((f , s ) -> f + s );
4344 }
4445
Original file line number Diff line number Diff line change 3333 */
3434public class HobbitsTest extends WeatherObserverTest <Hobbits > {
3535
36- static Collection <Object []> dataProvider () {
36+ @ Override
37+ public Collection <Object []> dataProvider () {
3738 final List <Object []> testData = new ArrayList <>();
3839 testData .add (new Object []{WeatherType .SUNNY , "The happy hobbits bade in the warm sun." });
3940 testData .add (new Object []{WeatherType .RAINY , "The hobbits look for cover from the rain." });
Original file line number Diff line number Diff line change 3333 */
3434public class OrcsTest extends WeatherObserverTest <Orcs > {
3535
36- static Collection <Object []> dataProvider () {
36+ @ Override
37+ public Collection <Object []> dataProvider () {
3738 final List <Object []> testData = new ArrayList <>();
3839 testData .add (new Object []{WeatherType .SUNNY , "The sun hurts the orcs' eyes." });
3940 testData .add (new Object []{WeatherType .RAINY , "The orcs are dripping wet." });
Original file line number Diff line number Diff line change 2323package com .iluwatar .observer ;
2424
2525import com .iluwatar .observer .utils .InMemoryAppender ;
26+
27+ import java .util .Collection ;
2628import java .util .function .Supplier ;
2729
2830import org .junit .jupiter .api .AfterEach ;
2931import org .junit .jupiter .api .BeforeEach ;
3032import org .junit .jupiter .api .Disabled ;
33+ import org .junit .jupiter .api .TestInstance ;
3134import org .junit .jupiter .params .ParameterizedTest ;
3235import org .junit .jupiter .params .provider .MethodSource ;
3336
3942 * @param <O> Type of WeatherObserver
4043 * @author Jeroen Meulemeester
4144 */
45+ @ TestInstance (TestInstance .Lifecycle .PER_CLASS )
4246public abstract class WeatherObserverTest <O extends WeatherObserver > {
4347
4448 private InMemoryAppender appender ;
@@ -67,6 +71,8 @@ public void tearDown() {
6771 this .factory = factory ;
6872 }
6973
74+ public abstract Collection <Object []> dataProvider ();
75+
7076 /**
7177 * Verify if the weather has the expected influence on the observer
7278 */
Original file line number Diff line number Diff line change 3535 */
3636public class GHobbitsTest extends ObserverTest <GHobbits > {
3737
38- static Collection <Object []> dataProvider () {
38+ @ Override
39+ public Collection <Object []> dataProvider () {
3940 final List <Object []> testData = new ArrayList <>();
4041 testData .add (new Object []{WeatherType .SUNNY , "The happy hobbits bade in the warm sun." });
4142 testData .add (new Object []{WeatherType .RAINY , "The hobbits look for cover from the rain." });
Original file line number Diff line number Diff line change 2626import com .iluwatar .observer .utils .InMemoryAppender ;
2727import org .junit .jupiter .api .AfterEach ;
2828import org .junit .jupiter .api .BeforeEach ;
29+ import org .junit .jupiter .api .TestInstance ;
2930import org .junit .jupiter .params .ParameterizedTest ;
3031import org .junit .jupiter .params .provider .MethodSource ;
3132
33+ import java .util .Collection ;
3234import java .util .function .Supplier ;
3335
3436import static org .junit .jupiter .api .Assertions .assertEquals ;
3941 * @param <O> Type of Observer
4042 * @author Jeroen Meulemeester
4143 */
44+ @ TestInstance (TestInstance .Lifecycle .PER_CLASS )
4245public abstract class ObserverTest <O extends Observer > {
4346
4447 private InMemoryAppender appender ;
@@ -67,6 +70,8 @@ public void tearDown() {
6770 this .factory = factory ;
6871 }
6972
73+ public abstract Collection <Object []> dataProvider ();
74+
7075 /**
7176 * Verify if the weather has the expected influence on the observer
7277 */
You can’t perform that action at this time.
0 commit comments