import org.junit.jupiter.api.Test; import resources.Algo; import static controls.ConstantMethods.printAlgoState; import static org.junit.jupiter.api.Assertions.assertEquals; public class MainTest { @Test void test(){ Algo algo = new Algo(); algo.setDeck(0, 1, 2, 3, 4, 5, 6, 7); algo.distributeHands(); printAlgoState(algo); //Aはカードを1枚引き、Bの0番目のカードに対して「1」を宣言する。 algo.setTargetA(0); algo.setGuessA(3); algo.drawAndAttackA(); //アタックは失敗する。 assertEquals(false, algo.getResultByDrawingA().getKey()); assertEquals(false, algo.getLoseA()); assertEquals(false, algo.getLoseB()); //Bはカードを1枚引き、Aの2番目のカードに対して「2」を宣言する。 algo.setTargetB(2); algo.setGuessB(2); algo.drawAndAttackB(); //アタックは失敗する。 assertEquals(false, algo.getResultByDrawingB().getKey()); assertEquals(false, algo.getLoseA()); assertEquals(false, algo.getLoseB()); //Aはカードを1枚引き、Bの1番目のカードに対して「3」を宣言する。 algo.setTargetA(1); algo.setGuessA(3); algo.drawAndAttackA(); //アタックは成功する。 assertEquals(true, algo.getResultByDrawingA().getKey()); assertEquals(false, algo.getLoseA()); assertEquals(false, algo.getLoseB()); //Bはカードを1枚引き、Aの0番目のカードに対して「2」を宣言する。 algo.setTargetB(0); algo.setGuessB(2); algo.drawAndAttackB(); //アタックは失敗する。 assertEquals(false, algo.getResultByDrawingB().getKey()); assertEquals(false, algo.getLoseA()); assertEquals(false, algo.getLoseB()); //Aは手札の0番目のカードアタックに使用し、Bの0番目のカードに対して「1」を宣言する。 algo.setAttackerA(0); algo.setTargetA(0); algo.setGuessA(1); algo.selectAndAttackA(); //アタックは成功する。 assertEquals(true, algo.getResultBySelectingA().getKey()); //Bの手札が全て表になったので、Bは敗北する。 assertEquals(false, algo.getLoseA()); assertEquals(true, algo.getLoseB()); printAlgoState(algo); } }