예제 #1
0
 public void BestMinAndMaxScoreAtDepth()
 {
     MiniMax target = new MiniMax();
     int depth = 5;
     int expect = 995;
     int actual = target.GetScore(depth);
     Assert.AreEqual(expect, actual);
     depth++;
     expect = -994;
     actual = target.GetScore(depth);
     Assert.AreEqual(expect, actual);
 }
예제 #2
0
 public void BestMinScore()
 {
     MiniMax target = new MiniMax();
     int depth = 0;
     int expect = -1000;
     int actual = target.GetScore(depth);
     Assert.AreEqual(expect, actual);
 }
예제 #3
0
        public void ReturnsScoreInFinalGameState()
        {
            MiniMax target = new MiniMax();
            int depth = 5;
            int expected = 995;
            char[,] givenBoard = new char[3,3];
            givenBoard[0,0] = 'X';
            givenBoard[2,0] = 'O';
            givenBoard[0,1] = 'X';
            givenBoard[2,1] = 'O';
            givenBoard[0,2] = 'X';
            int actual = 0;
            if (target.Win(givenBoard) == true)
            {
                actual = target.GetScore(depth);
            }
            Assert.AreEqual(expected, actual);

            givenBoard = returnTiedBoard();
            expected = 0;
            if (target.Tie(givenBoard))
            {
                actual = 0;
            }
            Assert.AreEqual(expected, actual);
        }