public void IsMatch_GivenComputerLevel_MatchesGivenExpected(ComputerLevel computerLevel, bool expected) { // Arrange var mockLogger = new Mock <ILogger <ComputerMoveHard> >(); IComputerMove classUnderTest = new ComputerMoveHard(mockLogger.Object); // Act var actual = classUnderTest.IsMatch(computerLevel); // Assert Assert.AreEqual(expected, actual); }
public void SetPosition_WhenTwoSquaresAreSetByTheComputer_TheComputerTakesTheThird(int expected, int positionA, int positionB) { // Arrange var mockLogger = new Mock <ILogger <ComputerMoveHard> >(); IComputerMove classUnderTest = new ComputerMoveHard(mockLogger.Object); var mockFallback = new Mock <IEnumerable <IComputerMove> >(); var game = new Game(); var computerPlayer = Player.O; game.SetPosition(computerPlayer, positionA); game.SetPosition(computerPlayer, positionB); // Act var actual = classUnderTest.SetPosition(computerPlayer, game.GetCurrentBoard(), mockFallback.Object); // Assert Assert.AreEqual(expected, actual); }