コード例 #1
0
        public IEnumerator winTest()
        {
            THHGame game = TestGameflow.initStandardGame();

            _ = game.run();
            yield return(new WaitForSeconds(.1f));

            game.players[0].cmdInitReplace(game);
            game.players[1].cmdInitReplace(game);
            yield return(new WaitForSeconds(.1f));

            game.sortedPlayers[0].cmdUse(game, game.sortedPlayers[0].hand[0], 0);
            yield return(new WaitForSeconds(.1f));

            for (int i = 0; i < 15; i++)
            {
                game.sortedPlayers[0].cmdTurnEnd(game);
                yield return(new WaitForSeconds(.1f));

                game.sortedPlayers[1].cmdTurnEnd(game);
                yield return(new WaitForSeconds(.1f));

                game.sortedPlayers[0].cmdAttack(game, game.sortedPlayers[0].field[0], game.sortedPlayers[1].master);
                yield return(new WaitForSeconds(.1f));
            }
            THHCard.AttackEventArg attack = game.triggers.getRecordedEvents().LastOrDefault(e => e is THHCard.AttackEventArg) as THHCard.AttackEventArg;
            Assert.NotNull(attack);
            THHGame.GameEndEventArg gameEnd = game.triggers.getRecordedEvents().LastOrDefault(e => e is THHGame.GameEndEventArg) as THHGame.GameEndEventArg;
            Assert.AreEqual(game.sortedPlayers[0], gameEnd.winners[0]);
            game.Dispose();
        }
コード例 #2
0
        public IEnumerator surrenderTest()
        {
            THHGame game = TestGameflow.initStandardGame();

            game.run();
            //yield return new WaitUntil(() =>
            //{
            //    return game.answers.getLastRequest(game.players[0].id) is InitReplaceRequest;
            //});
            yield return(game.players[0].cmdSurrender(game).wait());

            THHGame.GameEndEventArg gameEnd = game.triggers.getRecordedEvents().LastOrDefault(e => e is THHGame.GameEndEventArg) as THHGame.GameEndEventArg;
            Assert.AreEqual(game.players[1], gameEnd.winners[0]);
            game.Dispose();
            yield break;
        }