public void PlayWhileNotEndGame()
        {
            MagicSquare magicSquare = GetMagicSquare(out MagicSquareContext magicSquareContext);

            magicSquareContext.GameDriver.SetupSequence(gd => gd.Play(It.IsAny <Board>()))
            .Returns(GameFlow.NEW_GAME)
            .Returns(GameFlow.KEEP_PLAYING)
            .Returns(GameFlow.END_GAME);
            magicSquare.Play();

            magicSquareContext.GameDriver.Verify(gd => gd.Play(It.IsAny <Board>()), Times.Exactly(3));
            magicSquareContext.BoardSizeReadingBoardFactory.Verify(bsrbf => bsrbf.GetBoard(), Times.Exactly(3));
            magicSquareContext.IO.Verify(io => io.Clear(), Times.Once);
            magicSquareContext.IO.Verify(io => io.WriteLine(It.IsAny <string>(), It.IsAny <int>()), Times.Once);
        }