package solitaer; import static org.junit.jupiter.api.Assertions.*; import java.util.stream.Stream; import org.junit.jupiter.params.ParameterizedTest; import org.junit.jupiter.params.provider.Arguments; import org.junit.jupiter.params.provider.MethodSource; class AblageStackTest { @ParameterizedTest @MethodSource("testAblageStackTestDaten") void testRulesetAblageStack(String _msg, Card _stapel, Card _spieler, boolean _expectedResult) { AblageStack stack = new AblageStack(0, 0, Symbol.Kreuz); assertEquals(_expectedResult, stack.cardCheck(_stapel, _spieler), _msg); } private static Stream testAblageStackTestDaten(){ return Stream.of( Arguments.of("Ass-Kreuz auf Leeres Kreuz-Feld", null, null, false), Arguments.of("Ass-Kreuz auf Leeres Kreuz-Feld", null, new Card(1, Symbol.Kreuz, true), true), Arguments.of("02-Kreuz auf Leeres Kreuz-Feld", null, new Card(2, Symbol.Kreuz, true), false), Arguments.of("Ass-Herz auf Leeres Kreuz-Feld", null, new Card(1, Symbol.Herz, true), false), Arguments.of("05-Kreuz auf 04-Kreuz", new Card(4, Symbol.Kreuz, true), new Card(5, Symbol.Kreuz, true), true), Arguments.of("05-Herz auf 04-Kreuz", new Card(4, Symbol.Kreuz, true), new Card(5, Symbol.Herz, true), false), Arguments.of("Ass-Kreuz auf König-Kreuz", new Card(13, Symbol.Kreuz, true), new Card(1, Symbol.Kreuz, true), false) ); } }