public void Start_Should_DisplayUpdatedBoard_When_PlayerEnteredMove() { int inputCount = 0; var fakeGame = Mock.Of <IGame>(); Mock.Get(fakeGame).Setup(x => x.Play(It.IsAny <int>())).Returns(true); Mock.Get(fakeGame).SetupGet(x => x[1]).Returns("X"); Mock.Get(fakeGame).SetupGet(x => x[2]).Returns("O"); var fakeView = Mock.Of <IConsoleInterface>(); Mock.Get(fakeView).Setup(x => x.ReadLine()) .Returns(() => $"{inputCount + 1}") .Callback(() => { inputCount++; if (inputCount == 1) { Mock.Get(fakeGame).SetupGet(x => x.Winner).Returns("Cat's Game."); // Force game to end. } }); var presenter = new TicTacToePresenter(fakeView, fakeGame); presenter.Start(); Mock.Get(fakeView).Verify(x => x.WriteLine(" | | "), Times.Exactly(2)); Mock.Get(fakeView).Verify(x => x.WriteLine("___________"), Times.Exactly(2)); Mock.Get(fakeView).Verify(x => x.WriteLine(" X | O | "), Times.Once); }
static void Main() { TicTacToeForm ticTacToe = new TicTacToeForm(); TicTacToePresenter ticTacToePresenter = new TicTacToePresenter(ticTacToe); ticTacToePresenter.RunApp(); }
public void Start_Should_AskPlayerOForNextMove_When_GameHasNotYetEnded() { int inputCount = 0; var fakeGame = Mock.Of <IGame>(); Mock.Get(fakeGame).Setup(x => x.Play(It.IsAny <int>())).Returns(true); var fakeView = Mock.Of <IConsoleInterface>(); Mock.Get(fakeView).Setup(x => x.ReadLine()) .Returns($"{inputCount + 1}") .Callback(() => { inputCount++; if (inputCount == 2) { Mock.Get(fakeGame).SetupGet(x => x.Winner).Returns("Cat's Game."); // Force game to end. } }); var presenter = new TicTacToePresenter(fakeView, fakeGame); presenter.Start(); Mock.Get(fakeView).Verify(x => x.Write("Player O move: "), Times.Once); Mock.Get(fakeView).Verify(x => x.ReadLine(), Times.AtLeast(2)); }
public void CreateInstanceOfPresenter() { var mockedView = new Mock <ITicTacToeView>(); var mockedUsersService = new Mock <IUsersService>(); var presenter = new TicTacToePresenter(mockedView.Object, mockedUsersService.Object); Assert.That(presenter, Is.InstanceOf <Presenter <ITicTacToeView> >()); }
public void InitializeCorrectly_WhenParametersAreValid() { var mockedView = new Mock <ITicTacToeView>(); var mockedUsersService = new Mock <IUsersService>(); var presenter = new TicTacToePresenter(mockedView.Object, mockedUsersService.Object); Assert.That(presenter, Is.Not.Null); }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if (ThePresenter == null) { ThePresenter = new TicTacToePresenter(); } } }
public void CallUsersServiceGetByIdMethod_WhenViewsEventIsRaised() { var mockedView = new Mock <ITicTacToeView>(); var mockedModel = new Mock <TicTacToeModel>(); mockedView.Setup(x => x.Model).Returns(mockedModel.Object); var mockedUser = new Mock <User>(); var mockedUsersService = new Mock <IUsersService>(); mockedUsersService.Setup(x => x.GetUserById(It.IsAny <object>())).Returns(mockedUser.Object); var mockedFileSaver = new Mock <IFileSaver>(); var presenter = new TicTacToePresenter(mockedView.Object, mockedUsersService.Object); mockedView.Raise(x => x.GetCurrentUser += null, null, new TicTacToeEventArgs(1)); mockedUsersService.Verify(x => x.GetUserById(It.IsAny <object>()), Times.Once); }
public void Start_Should_NotAcceptInvalidInput_When_PlayerEnteredNonNumericValue() { var fakeGame = Mock.Of <IGame>(); var fakeView = Mock.Of <IConsoleInterface>(); Mock.Get(fakeView).Setup(x => x.ReadLine()) .Returns("A") .Callback(() => { Mock.Get(fakeGame).SetupGet(x => x.Winner).Returns("Cat's Game."); // Force game to end. }); var presenter = new TicTacToePresenter(fakeView, fakeGame); presenter.Start(); Mock.Get(fakeView).Verify(x => x.WriteLine("Your move is not valid."), Times.Once); }
public void Start_Should_AskPlayerXForFirstMove() { var fakeGame = Mock.Of <IGame>(); var fakeView = Mock.Of <IConsoleInterface>(); Mock.Get(fakeView).Setup(x => x.ReadLine()) .Returns("1") .Callback(() => { Mock.Get(fakeGame).SetupGet(x => x.Winner).Returns("Cat's Game."); // Force game to end. }); var presenter = new TicTacToePresenter(fakeView, fakeGame); presenter.Start(); Mock.Get(fakeView).Verify(x => x.WriteLine("Player X will go first..."), Times.Once); Mock.Get(fakeView).Verify(x => x.Write("Player X move: "), Times.Once); Mock.Get(fakeView).Verify(x => x.ReadLine(), Times.Once); }
public void Start_Should_DisplayWelcomeMessage() { var fakeGame = Mock.Of <IGame>(); var fakeView = Mock.Of <IConsoleInterface>(); Mock.Get(fakeView).Setup(x => x.ReadLine()) .Returns("1") .Callback(() => { Mock.Get(fakeGame).SetupGet(x => x.Winner).Returns("Cat's Game."); // Force game to end. }); var presenter = new TicTacToePresenter(fakeView, fakeGame); presenter.Start(); Mock.Get(fakeView).Verify(x => x.WriteLine("Welcome to Tic-Tac-Toe Game!"), Times.Once); }
public void Start_Should_DisplayMessage_When_GameEndedWithATie() { var endGameWinner = "-"; var fakeGame = Mock.Of <IGame>(); var fakeView = Mock.Of <IConsoleInterface>(); Mock.Get(fakeView).Setup(x => x.ReadLine()) .Returns("1") .Callback(() => { Mock.Get(fakeGame).SetupGet(x => x.Winner).Returns(endGameWinner); // Force game to end. }); var presenter = new TicTacToePresenter(fakeView, fakeGame); presenter.Start(); Mock.Get(fakeView).Verify(x => x.WriteLine("Cat's Game!"), Times.Once); Mock.Get(fakeView).Verify(x => x.WriteLine("Press any key to exit.."), Times.Once); Mock.Get(fakeView).Verify(x => x.ReadKey(), Times.Once); }
public App(TicTacToePresenter presenter) { _presenter = presenter; }
protected void Page_Load(object sender, EventArgs e) { if (!Page.IsPostBack) { if(ThePresenter == null) ThePresenter=new TicTacToePresenter(); } }