Ejemplo n.º 1
0
        public void MarkAndDisplayResult_SimpleRun_ResultIsPaintedAndDescribed()
        {
            var shotResult = new ShotResult {
                Coordinate = new Coordinate(4, 4), Description = "Water.", Kind = ShotResult.Kinds.Water
            };

            _gridResultPainterMock.Setup(x => x.PaintResult(shotResult));
            _textResultDisplayerMock.Setup(x => x.DisplayResult(shotResult));
            _soundPlayerMock.Setup(x => x.PlayResult(shotResult));

            _sut.MarkAndDisplayResult(shotResult);
        }
Ejemplo n.º 2
0
        public void MarkAndDisplayResult_SimpleRun_ResultIsPaintedAndDescribed()
        {
            var shotResult = new ShotResult {
                Coordinate = new Coordinate(4, 4), Description = "Water.", Kind = ShotResult.Kinds.Water
            };

            _gridResultPainterMock.Setup(x => x.PaintResult(shotResult));
            _textResultDisplayerMock.Setup(x => x.DisplayResult(shotResult));
            _soundPlayerMock.Setup(x => x.PlayResult(shotResult));

            _sut.MarkAndDisplayResult(shotResult);

            _cursorHelperMock.Verify(x => x.SetGridSize(It.IsAny <GridSize>()), Times.Never);
            _gridPainterMock.Verify(x => x.PaintNewGrid(It.IsAny <GridSize>()), Times.Never);
            _gridResultPainterMock.Verify(x => x.PaintResult(It.IsAny <ShotResult>()), Times.Once);
            _gridResultPainterMock.Verify(x => x.PaintResult(shotResult), Times.Once);
            _textResultDisplayerMock.Verify(x => x.DisplayResult(It.IsAny <ShotResult>()), Times.Once);
            _textResultDisplayerMock.Verify(x => x.DisplayResult(shotResult), Times.Once);
            _soundPlayerMock.Verify(x => x.PlayResult(It.IsAny <ShotResult>()), Times.Once);
            _soundPlayerMock.Verify(x => x.PlayResult(shotResult), Times.Once);
        }
Ejemplo n.º 3
0
        private void StartAndPlayGame()
        {
            var gridSizeEnvelope = _gameLogic.StartNewGame();

            if (!gridSizeEnvelope.Success)
            {
                _outputFacade.DisplayException(gridSizeEnvelope.ErrorDescription);
                return;
            }

            _outputFacade.PaintNewGrid(gridSizeEnvelope.Content);

            var result = new ShotResult();

            while (result.Kind != ShotResult.Kinds.GameEnd)
            {
                var userCommand = _inputReader.ReadUserCommand();

                result = GetNextMoveResult(userCommand);

                _outputFacade.MarkAndDisplayResult(result);
            }
        }