Example #1
0
        public void SwitchWhiteToBlackTurnsTest()
        {
            PenteController pc = new PenteController(9, 9, "Boris", "Kyle");

            pc.isTesting = true;

            for (int row = 0; row < 9; row++)
            {
                for (int col = 0; col < 9; col++)
                {
                    PenteCellectaCanvas canvas = new PenteCellectaCanvas(row, col, pc, 10, 10);
                }
            }
            pc.PlaceFirstPiece();      //black
            pc.AttemptPlacement(2, 4); //white
            pc.AttemptPlacement(4, 8); //black
            Assert.AreEqual(false, !pc.isWhitePlayersTurn, "Switching Turns Does Not Work");
        }
Example #2
0
        public void GridPiecePlacementTest()
        {
            PenteController pc = new PenteController(19, 19, "Tester1", "Tester2");

            pc.isTesting = true;
            for (int row = 0; row < 19; row++)
            {     //start of first loo0p
                for (int col = 0; col < 19; col++)
                { //start of second loop
                    PenteCellectaCanvas canvas = new PenteCellectaCanvas(row, col, pc, 20, 20);
                }//end of second loop
            }//end of first loop
            pc.PlaceFirstPiece();
            pc.AttemptPlacement(4, 7);
            pc.AttemptPlacement(0, 8);
            Assert.AreEqual(true, pc.board[4, 7].IsWhitePlayer, "The Piece Was not Places");
            Assert.AreEqual(true, !pc.board[0, 8].IsWhitePlayer, "Piece was not Placed");
        }
        public void CaptureTest_Horizantal()
        {
            PenteController.StartGame(PlayMode.MultiPlayer, true);
            //set up capture
            PenteController.TakeTurn(0, 1);
            PenteController.TakeTurn(0, 2);
            PenteController.TakeTurn(15, 15);
            PenteController.TakeTurn(0, 3);

            //Capture
            PenteController.TakeTurn(0, 4);

            var board = PenteController.game.Board;

            var actual   = board[0, 2] == PieceColor.Empty && board[0, 3] == PieceColor.Empty;
            var expected = true;

            Assert.AreEqual(expected, actual);
        }
        public void SecondPlayerMakes5thCapture_GameOver()
        {
            //Set up
            PenteController.StartGame(PlayMode.MultiPlayer, true);
            PenteController.game.SecondPlayerCaptures = 4;

            PenteController.game.SetPieceAt(0, 0, PieceColor.White);
            PenteController.game.SetPieceAt(0, 1, PieceColor.Black);
            PenteController.game.SetPieceAt(0, 2, PieceColor.Black);
            PenteController.game.IsFirstPlayersTurn = false;

            //Capture
            PenteController.TakeTurn(0, 3);

            bool expected = true;
            bool actual   = PenteController.game.IsGameOver;

            Assert.AreEqual(expected, actual);
        }
Example #5
0
        public void FirstPieceCenter()
        {
            //Checking for Center piece of Grid size 9x9
            PenteController pc = new PenteController(9, 9, "Tester1", "Tester2");

            pc.isTesting = true;

            Assert.AreEqual(4, pc.boardCenter[0], $"X2 Not Middle Board Center is { pc.boardCenter[0]}");
            Assert.AreEqual(4, pc.boardCenter[1], $"Y2 Not Middle Board Center is {pc.boardCenter[1]}");

            //Checking for Center Piece of Grid Size 9x21
            PenteController pcc = new PenteController(9, 21, "Tester1", "Tester2");

            Assert.AreEqual(4, pcc.boardCenter[0], $"X2 Not Middle Board Center is {pcc.boardCenter[0]}");
            Assert.AreEqual(10, pcc.boardCenter[1], $"Y2 Not Middle Board Center is {pcc.boardCenter[1]}");

            //Checking to see if Black piece is first
            Assert.AreEqual(false, pcc.isWhitePlayersTurn, "Black Piece is Not First");
        }
        public void FivePiecesInARowEndGame()
        {
            PenteController.StartGame(PlayMode.MultiPlayer, isDebug: true);

            //first capture
            PenteController.TakeTurn(0, 0); //1
            PenteController.TakeTurn(1, 0);
            PenteController.TakeTurn(0, 1); //1
            PenteController.TakeTurn(1, 1);
            PenteController.TakeTurn(0, 2); //1
            PenteController.TakeTurn(1, 2);
            PenteController.TakeTurn(0, 3); //1
            PenteController.TakeTurn(1, 3);
            PenteController.TakeTurn(0, 4); //1

            bool actual   = PenteController.game.IsGameOver;
            bool expected = true;

            Assert.AreEqual(expected, actual);
        }
Example #7
0
        public void BlackSecondMoveOutOfBoundaryTest()
        {
            PenteController pc = new PenteController(9, 9, "Boris", "Kyle");

            pc.isTesting = true;

            for (int row = 0; row < 9; row++)
            {
                for (int col = 0; col < 9; col++)
                {
                    PenteCellectaCanvas canvas = new PenteCellectaCanvas(row, col, pc, 10, 10);
                }
            }
            pc.PlaceFirstPiece();      //black
            pc.AttemptPlacement(1, 4); //white
            pc.AttemptPlacement(4, 3); //black
            pc.AttemptPlacement(3, 4); //white

            Assert.AreEqual(null, !(pc.board[4, 3].IsWhitePlayer), "Black Cannot Place Piece In Boundary");
        }
Example #8
0
        private void TakeTurnsWithPoints(PenteController game, Point[] whitePoints, Point[] blackPoints)
        {
            if (whitePoints.Length != blackPoints.Length)
            {
                throw new ArgumentException("You need to pass in two arrays of equal size");
            }
            int TotalNumber = blackPoints.Length + whitePoints.Length;
            int whitePoint  = 0;
            int blackPoint  = 0;

            for (int i = 0; i < TotalNumber; i++)
            {
                if (i % 2 == 0)
                {
                    game.TakeTurn(whitePoints[whitePoint++], PieceColor.White);
                }
                else
                {
                    game.TakeTurn(blackPoints[blackPoint++], PieceColor.Black);
                }
            }
        }
Example #9
0
        public void CaptureDiagonalStoneTest()
        {
            PenteController pc = new PenteController(9, 9, "TESTER1", "TESTER2");

            pc.isTesting = true;

            for (int row = 0; row < 9; row++)
            {
                for (int col = 0; col < 9; col++)
                {
                    PenteCellectaCanvas canvas = new PenteCellectaCanvas(row, col, pc, 10, 10);
                }
            }
            pc.PlaceFirstPiece();      //black
            pc.AttemptPlacement(3, 3); //white
            pc.AttemptPlacement(0, 0); //black
            pc.AttemptPlacement(2, 2); //white
            pc.AttemptPlacement(1, 1); //black
            pc.checkCapture(3, 3, false);

            Assert.AreEqual(null, pc.board[2, 2].IsWhitePlayer, "Diagonal Capture Stones Does Not Work");
            Assert.AreEqual(null, pc.board[3, 3].IsWhitePlayer, "Diagonal Capture Stones Does Not Work");
        }
        public void FiveCapturesEndGame()
        {
            PenteController.StartGame(PlayMode.MultiPlayer, isDebug: true);

            //first capture
            PenteController.TakeTurn(0, 0); //1
            PenteController.TakeTurn(0, 1);
            PenteController.TakeTurn(1, 0); //1
            PenteController.TakeTurn(0, 2);
            PenteController.TakeTurn(0, 3); //1
            //second capture
            PenteController.TakeTurn(1, 1);
            PenteController.TakeTurn(2, 0); //1
            PenteController.TakeTurn(1, 2);
            PenteController.TakeTurn(1, 3); //1
            //third capture
            PenteController.TakeTurn(2, 1);
            PenteController.TakeTurn(3, 0); //1
            PenteController.TakeTurn(2, 2);
            PenteController.TakeTurn(2, 3); //1
            //fourth capture
            PenteController.TakeTurn(3, 1);
            PenteController.TakeTurn(4, 0); //1
            PenteController.TakeTurn(3, 2);
            PenteController.TakeTurn(3, 3); //1
            //fifth capture
            PenteController.TakeTurn(4, 1);
            PenteController.TakeTurn(5, 0); //1
            PenteController.TakeTurn(4, 2);
            PenteController.TakeTurn(4, 3); //1

            bool actual   = PenteController.game.IsGameOver;
            bool expected = true;

            Assert.AreEqual(expected, actual);
        }