// just like minimax, minimax with alphabeta should never lose to a random AI public void PlayerAIAlphaBeta9_vsPlayerAIRandom_NeverLoses() { // Arrange Player alphabeta = new PlayerAIAlphaBeta('X', "AlphaBeta", 9); Player random = new PlayerAIRandom('O', "Random"); // Act & Assert for (int i = 0; i < iterations; i++) { Assert.That(TestsMain.SimulateGame(alphabeta, random), Is.Not.EqualTo(-1)); } for (int i = 0; i < iterations; i++) { Assert.That(TestsMain.SimulateGame(random, alphabeta), Is.Not.EqualTo(1)); } }
// If we let a perfect minimaxing AI play against an AI that picks randomly, the minimaxer should never lose. public void PlayerAIMinimax9_vsPlayerAIRandom_NeverLoses() { // Arrange Player minimax = new PlayerAIMinimax('X', "Minimax", 9); Player random = new PlayerAIRandom('O', "Random"); // Act & Assert for (int i = 0; i < iterations; i++) { Assert.That(TestsMain.SimulateGame(minimax, random), Is.Not.EqualTo(-1)); } for (int i = 0; i < iterations; i++) { Assert.That(TestsMain.SimulateGame(random, minimax), Is.Not.EqualTo(1)); } }