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.drawAndAttackA(0, 3); //アタックは失敗する。 assertEquals(false, algo.getResultByDrawingA().getKey()); assertEquals(false, algo.getLoseA()); assertEquals(false, algo.getLoseB()); //Bはカードを1枚引き、Aの2番目のカードに対して「2」を宣言する。 algo.drawAndAttackB(2, 2); //アタックは失敗する。 assertEquals(false, algo.getResultByDrawingB().getKey()); assertEquals(false, algo.getLoseA()); assertEquals(false, algo.getLoseB()); //Aはカードを1枚引き、Bの1番目のカードに対して「3」を宣言する。 algo.drawAndAttackA(1, 3); //アタックは成功する。 assertEquals(true, algo.getResultByDrawingA().getKey()); assertEquals(false, algo.getLoseA()); assertEquals(false, algo.getLoseB()); //Bはカードを1枚引き、Aの0番目のカードに対して「2」を宣言する。 algo.drawAndAttackB(0, 2); //アタックは失敗する。 assertEquals(false, algo.getResultByDrawingB().getKey()); assertEquals(false, algo.getLoseA()); assertEquals(false, algo.getLoseB()); //Aは手札の0番目のカードアタックに使用し、Bの0番目のカードに対して「1」を宣言する。 algo.selectAndAttackA(0, 0, 1); //アタックは成功する。 assertEquals(true, algo.getResultBySelectingA().getKey()); //Bの手札が全て表になったので、Bは敗北する。 assertEquals(false, algo.getLoseA()); assertEquals(true, algo.getLoseB()); printAlgoState(algo); } }