public void ThirdHorizontalShouldReturnGameWonByO()
        {
            var game = "-X-XX-OOO";

            var validaotor = new GameResultValidator();

            Assert.AreEqual(GameResult.WonByO, validaotor.GetResult(game));
        }
        public void FirstVerticalShouldReturnGameWonByO()
        {
            var game = "OX-OOXOX-";

            var validaotor = new GameResultValidator();

            Assert.AreEqual(GameResult.WonByO, validaotor.GetResult(game));
        }
        public void ExpectDrawWithoutWinner()
        {
            var game = "OXOOXXXOO";

            var validaotor = new GameResultValidator();

            Assert.AreEqual(GameResult.Draw, validaotor.GetResult(game));
        }
        public void SecondHorizontalShouldReturnGameWonByX()
        {
            var game = "OO-XXX---";

            var validaotor = new GameResultValidator();

            Assert.AreEqual(GameResult.WonByX, validaotor.GetResult(game));
        }
        public void ExpectGameNotFinishedWithOneMoveLeftAndNoWinner()
        {
            var game = "OXOOXXXO-";

            var validaotor = new GameResultValidator();

            Assert.AreEqual(GameResult.NotFinished, validaotor.GetResult(game));
        }
        public void ExpectGameNotFinishedAfterFirstMove()
        {
            var game = "X--------";

            var validaotor = new GameResultValidator();

            Assert.AreEqual(GameResult.NotFinished, validaotor.GetResult(game));
        }
        public void SecondDiagonalShouldReturnGameWonByO()
        {
            var game = "--OXOOOXX";

            var validaotor = new GameResultValidator();

            Assert.AreEqual(GameResult.WonByO, validaotor.GetResult(game));
        }
        public void FirstDiagonalShouldReturnGameWonByO()
        {
            var game = "O---O---O";

            var validaotor = new GameResultValidator();

            Assert.AreEqual(GameResult.WonByO, validaotor.GetResult(game));
        }
        public void SecondVerticalShouldReturnGameWonByX()
        {
            var game = "OXO-XOXX-";

            var validaotor = new GameResultValidator();

            Assert.AreEqual(GameResult.WonByX, validaotor.GetResult(game));
        }
        public void ThirdVerticalShouldReturnGameWonByO()
        {
            var game = "X-OXOO-XO";

            var validaotor = new GameResultValidator();

            Assert.AreEqual(GameResult.WonByO, validaotor.GetResult(game));
        }
        public void GetResult_WhenGameWonByOOnSecondDiagonal_ShouldReturnwonByO()
        {
            string board = "XXO-OXO--";

            var validator = new GameResultValidator();
            var result    = validator.GetResult(board);

            Assert.AreEqual(GameResult.WonByO, result);
        }
        public void GetResult_WhenGameWonByOOnVerticals_ShouldReturnwonByO()
        {
            string board = "X-OX-O-XO";

            var validator = new GameResultValidator();
            var result    = validator.GetResult(board);

            Assert.AreEqual(GameResult.WonByO, result);
        }
        public void GetResult_WhenGameWonByXOnFirstDiagonal_ShouldReturnwonByX()
        {
            string board = "X-O-XO-OX";

            var validator = new GameResultValidator();
            var result    = validator.GetResult(board);

            Assert.AreEqual(GameResult.WonByX, result);
        }
        public void GetResult_WhenGameWonByXOnHorizonals_ShouldReturnwonByX()
        {
            string board = "OO-XXX---";

            var validator = new GameResultValidator();
            var result    = validator.GetResult(board);

            Assert.AreEqual(GameResult.WonByX, result);
        }
        public void GetResult_WhenGameNotFinished_ShouldReturnNotFinished()
        {
            string board = "--XO-----";

            var validator = new GameResultValidator();
            var result    = validator.GetResult(board);

            Assert.AreEqual(GameResult.NotFinished, result);
        }
 public void InitializeObjects()
 {
     validator = new GameResultValidator();
 }
 public GameResultValidationTest()
 {
     _gameResultValidator = new GameResultValidator();
 }
 public GamesController(ITicTacToeData data, GameResultValidator validator)
 {
     this.data = data;
     this.validator = validator;
 }