public void TryParse_SensibleCoordinateWith_ReturnRightResult(string coordinatesFromClient, char expectedColumn, string expectedRow)
        {
            var result = _sut.TryParse(coordinatesFromClient, out var coordinate);

            result.Should().Be(ValidationResult.Success);
            coordinate.Should().Be(new Coordinate(expectedColumn, expectedRow));
        }
Example #2
0
        public ResponseEnvelope <ShotResult> MakeNewMove(string shotCoordinate)
        {
            try
            {
                var validationResult = _coordinateParser.TryParse(shotCoordinate, out var coordinate);
                if (validationResult?.ErrorMessage != null)
                {
                    return new ResponseEnvelope <ShotResult>
                           {
                               Success = true, Content = new ShotResult {
                                   Kind = ShotResult.Kinds.WrongCoordinates, Description = validationResult.ErrorMessage
                               }
                           }
                }
                ;

                var shotResult = _grid.Shot(coordinate);

                return(new ResponseEnvelope <ShotResult> {
                    Success = true, Content = shotResult
                });
            }
            catch (Exception e)
            {
                return(new ResponseEnvelope <ShotResult> {
                    Success = false, ErrorDescription = e.Message
                });
            }
        }