예제 #1
0
        public void UndoTest_ShouldUndo_CanUndo()
        {
            var movesRecorder = new MovesRecorder();
            var gridMapInit   = new GridMock[9];
            var shouldUndo    = true;
            var gameManager   = new GameManagerMockUp();

            for (int i = 0; i < gridMapInit.Length; i++)
            {
                gridMapInit[i] = new GridMock();
                movesRecorder.movesRecorder.Push(i);
            }
            gameManager.UndoLastMoves(movesRecorder, gridMapInit, shouldUndo);
            for (int j = 0; j < gridMapInit.Length; j++)
            {
                if (j < 7)
                {
                    Assert.AreEqual(gridMapInit[j].PlayerID, 0);
                }
                else
                {
                    Assert.AreEqual(gridMapInit[j].PlayerID, -1);
                }
            }
        }
예제 #2
0
        public void UndoTest_ShouldUndo_CanNotUndo()
        {
            var movesRecorder = new MovesRecorder();
            var gridMapInit   = new GridMock[9];
            var shouldUndo    = true;
            var gameManager   = new GameManagerMockUp();

            for (int i = 0; i < gridMapInit.Length; i++)
            {
                gridMapInit[i] = new GridMock();
            }
            Assert.IsFalse(gameManager.UndoLastMoves(movesRecorder, gridMapInit, shouldUndo));
        }
예제 #3
0
        public void CheckIfGameDraw()
        {
            var _gridMap       = new Grid[3, 3];
            var gridMapInit    = new Grid[9];
            var _solutions     = new Solutions();
            var _gameManager   = new GameManagerMockUp();
            var _movesRecorder = new MovesRecorder();
            var _gameEvent     = new GameEvent();
            var index          = 0;

            for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    _gridMap[i, j]          = new Grid();
                    _gridMap[i, j].PlayerID = index;
                    index++;
                }
            }
            Assert.IsFalse(_gameManager.CheckIfGameEnded(_movesRecorder, _solutions, _gridMap, gridMapInit, _gameEvent));
        }