public void CompCorrectlyIdentifiesTheWin() { char[,] givenBoard = new char[3, 3]; givenBoard[0, 0] = 'O'; givenBoard[0, 1] = 'O'; givenBoard[2, 2] = 'X'; givenBoard[2, 1] = 'X'; MiniMax target = new MiniMax(); Tuple<int,int> recievedMove = target.GetMove(givenBoard, 'O'); Tuple<int,int> expectedMove = new Tuple<int,int>(2,0); Assert.AreEqual(expectedMove, recievedMove); }
public void CorrectlyTakesCorner() { char[,] givenBoard = new char[3, 3]; MiniMax target = new MiniMax(); givenBoard[1, 1] = 'X'; Tuple<int, int> recievedMove = target.GetMove(givenBoard, 'O'); Tuple<int, int> sideMoveOne = new Tuple<int, int>(1, 0); Tuple<int, int> sideMoveTwo = new Tuple<int, int>(0, 1); Tuple<int, int> sideMoveThree = new Tuple<int, int>(2, 1); Tuple<int, int> sideMoveFour = new Tuple<int, int>(1, 2); Assert.AreNotEqual(sideMoveOne, recievedMove); Assert.AreNotEqual(sideMoveTwo, recievedMove); Assert.AreNotEqual(sideMoveThree, recievedMove); Assert.AreNotEqual(sideMoveFour, recievedMove); }
public void SpotTest() { char[,] givenBoard = new char[3, 3]; MiniMax target = new MiniMax(); givenBoard[1, 1] = 'X'; givenBoard[0, 0] = 'O'; givenBoard[0, 2] = 'X'; givenBoard[2, 0] = 'O'; Tuple<int, int> recievedMove = target.GetMove(givenBoard, 'X'); Tuple<int, int> expectedMove = new Tuple<int, int>(0, 1); Assert.AreEqual(expectedMove, recievedMove); }
public void FirstMoveTest() { char[,] givenBoard = new char[3, 3]; MiniMax target = new MiniMax(); Tuple<int, int> recievedMove = target.GetMove(givenBoard, 'X'); Tuple<int, int> expectedMove = new Tuple<int, int>(1, 1); Assert.AreEqual(expectedMove, recievedMove); }