Beispiel #1
0
        public void TestDrawResult()
        {
            GameService gameService = new GameService();

            var p1 = new TicaTacToeUserModel {
                Id = Guid.NewGuid().ToString()
            };
            var p2 = new TicaTacToeUserModel {
                Id = Guid.NewGuid().ToString()
            };

            GameModel gameModel = new GameModel(p1, p2);

            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 0, out string gameMessage);
            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 1, out gameMessage);
            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 2, out gameMessage);
            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 3, out gameMessage);
            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 4, out gameMessage);
            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 6, out gameMessage);
            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 5, out gameMessage);
            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 8, out gameMessage);
            var result = gameService.MakeMove(ref gameModel, gameModel.CurrentId, 7, out gameMessage);

            Assert.AreEqual(result, GameMoveResults.Draw);
        }
Beispiel #2
0
        public void GameLogicX2Test()
        {
            GameService gameService = new GameService();

            var p1 = new TicaTacToeUserModel {
                Id = Guid.NewGuid().ToString(), Username = "******"
            };
            var p2 = new TicaTacToeUserModel {
                Id = Guid.NewGuid().ToString(), Username = "******"
            };

            GameModel gameModel = new GameModel(p1, p2);

            string gameMessage = string.Empty;

            var winnerUsername = gameModel.CurrentUsername;

            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 2, out gameMessage);
            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 0, out gameMessage);
            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 4, out gameMessage);
            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 1, out gameMessage);
            var result = gameService.MakeMove(ref gameModel, gameModel.CurrentId, 6, out gameMessage);

            Assert.AreEqual(result, GameMoveResults.EndGame);
        }
Beispiel #3
0
        public void TestErrorResultMessage()
        {
            GameService gameService = new GameService();

            var p1 = new TicaTacToeUserModel {
                Id = Guid.NewGuid().ToString()
            };
            var p2 = new TicaTacToeUserModel {
                Id = Guid.NewGuid().ToString()
            };

            GameModel gameModel = new GameModel(p1, p2);

            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 0, out string gameMessage);

            var result = gameService.MakeMove(ref gameModel, gameModel.CurrentId, 0, out gameMessage);

            Assert.AreEqual(gameMessage.Contains("Ошибка"), true);
        }
Beispiel #4
0
        public void PlayerChangeTest()
        {
            GameService gameService = new GameService();

            var p1 = new TicaTacToeUserModel {
                Id = Guid.NewGuid().ToString()
            };
            var p2 = new TicaTacToeUserModel {
                Id = Guid.NewGuid().ToString()
            };

            GameModel gameModel = new GameModel(p1, p2);

            var previousId = gameModel.CurrentId;

            gameService.MakeMove(ref gameModel, gameModel.CurrentId, 0, out string gameMessage);

            Assert.AreNotEqual(previousId, gameModel.CurrentId);
        }
Beispiel #5
0
        public void GameLogicRowTest()
        {
            GameService gameService = new GameService();

            var p1 = new TicaTacToeUserModel {
                Id = Guid.NewGuid().ToString(), Username = "******"
            };
            var p2 = new TicaTacToeUserModel {
                Id = Guid.NewGuid().ToString(), Username = "******"
            };

            GameModel gameModel = new GameModel(p1, p2);

            string gameMessage = string.Empty;

            var winnerUsername = gameModel.CurrentUsername;

            for (var i = 0; i < 9; i += 3)
            {
                GameMoveResults result  = GameMoveResults.Continue;
                int             counter = 0;
                int             tmp     = i < 6 ? i + 3 : i - 6;
                for (var j = 0; j < i + 3; j++)
                {
                    counter++;
                    result = gameService.MakeMove(ref gameModel, gameModel.CurrentId, i + j, out gameMessage);
                    if (counter == 3)
                    {
                        break;
                    }
                    gameService.MakeMove(ref gameModel, gameModel.CurrentId, tmp + j, out gameMessage);
                }

                Assert.AreEqual(result, GameMoveResults.EndGame);

                gameModel      = new GameModel(p1, p2);
                winnerUsername = gameModel.CurrentUsername;
            }
        }