Exemple #1
0
        public IActionResult Post([FromBody] List <Game> games)
        {
            _logger.LogInformation("test log information");

            GameValidator validator         = new GameValidator();
            var           validateListGames = validator.Validate(games);

            if (validateListGames.IsValid)
            {
                var finalistas = _gameService.ClassificarJogos(games);

                return(Ok(finalistas));
            }

            return(BadRequest(validateListGames.Errors));
        }
        public void Can_ParseSongNode_As_ValidGame(string xPathToEz2DjSongNode, string gameTitle)
        {
            var doc = new HtmlDocument();

            doc.Load("ez2onDBSample.html");
            var         songNode   = doc.DocumentNode.SelectSingleNode(xPathToEz2DjSongNode);
            var         mockLogger = new Mock <ILogger <Ez2OnParser> >();
            Ez2OnParser parser     = new Ez2OnParser(mockLogger.Object);
            var         game       = parser.InferGameFromSongAlbum(songNode);

            Assert.Equal(gameTitle, game.Title);
            Assert.False(game.IsDlc);
            GameValidator gameValidator    = new GameValidator();
            var           validationResult = gameValidator.Validate(game);

            Assert.True(validationResult.IsValid);
        }
Exemple #3
0
        public void ValidBoard()
        {
            var details = "0   1 11," +
                          "   3    ," +
                          "13 5 4  ," +
                          " 2   31 ," +
                          "  332  0," +
                          "     1  ," +
                          " 1 0 1  ," +
                          "        ";

            var game      = CreateGame(details);
            var validator = new GameValidator();

            var validationResult = validator.Validate(game);

            Assert.True(validationResult.IsValid);
        }
Exemple #4
0
        public void TooManyMines()
        {
            var details = "3   1 11," +
                          "!! 3    ," +
                          "13 5 4  ," +
                          " 2   31 ," +
                          "  332  0," +
                          "     1  ," +
                          " 1 0 1  ," +
                          "        ";

            var game      = CreateGame(details);
            var validator = new GameValidator();

            var validationResult = validator.Validate(game);

            Assert.False(validationResult.IsValid);
            Assert.Equal("Too many mines", validationResult.Reason);
            Assert.Equal(0, validationResult.CellOfInterest.Column);
            Assert.Equal(2, validationResult.CellOfInterest.Row);
        }
Exemple #5
0
        public void CannotPlaceAllMines()
        {
            var details = "0   1 11," +
                          "   3    ," +
                          "13 8 4  ," +
                          " 2   31 ," +
                          "  332  0," +
                          "     1  ," +
                          " 1 0 1  ," +
                          "        ";

            var game      = CreateGame(details);
            var validator = new GameValidator();

            var validationResult = validator.Validate(game);

            Assert.False(validationResult.IsValid);
            Assert.Equal("Too few mines", validationResult.Reason);
            Assert.Equal(3, validationResult.CellOfInterest.Column);
            Assert.Equal(2, validationResult.CellOfInterest.Row);
        }
Exemple #6
0
        public void StartIsNotOnBoard()
        {
            IBoardConfiguration boardConfiguration = new BoardConfiguration("5 4");
            IExitConfiguration  exitConfiguration  = new ExitConfiguration("4 2");
            IMinesConfiguration minesConfiguration = new MinesConfiguration("1,1 1,3 3,3");
            IMoveConfiguration  moveConfiguration  = new MoveConfiguration(new List <string>()
            {
                "M R L", "L M R", "R M L"
            });
            IStartConfiguration startConfiguration = new StartConfiguration("6 9 N");

            IBoard                  board  = boardConfiguration.GetBoard();
            List <ICoordinate>      mines  = minesConfiguration.GetMines();
            ICoordinate             exit   = exitConfiguration.GetExitPoint();
            IPosition               start  = startConfiguration.GetStartPoint();
            List <List <MoveType> > moves  = moveConfiguration.GetMoves();
            ITurtle                 turtle = new Turtle(start);

            IGameValidator gameValidator = new GameValidator(board, mines, exit, start, moves, turtle);

            gameValidator.Validate();
        }
Exemple #7
0
        /// <summary>
        /// Gets the specified console using it's name as an identifier.
        /// </summary>
        /// <param name="name">The name of the console to get.</param>
        /// <param name="validate">if set to <c>true</c> [validate].</param>
        /// <returns></returns>
        /// <exception cref="Exception"></exception>
        public HyperValidator.Models.Console Get(String name, Boolean validate = false)
        {
            var console = new HyperValidator.Models.Console()
            {
                Name = name
            };

            var databasePath = PathUtility.Combine(Settings.HyperSpinRootLocation, "databases", console.Name, $"{console.Name}.xml");
            var database     = DatabaseSerializer.DeserializeFromFile(databasePath);

            console.Database = database;

            var settingsPath = PathUtility.Combine(Settings.HyperSpinRootLocation, "settings", $"{console.Name}.ini");

            if (!FileUtility.Exists(settingsPath))
            {
                throw new Exception($"Failed to find settings file for {name}");
            }

            var settings = ConsoleSerializer.DeserializeFromFile(settingsPath);

            console.Settings = settings;

            console.Status = ConsoleValidator.Validate(console);

            if (validate)
            {
                foreach (var game in console.Database.Games)
                {
                    var status = GameValidator.Validate(console, game);
                    OnGameValidated(status);
                    game.Status = status;
                }
                OnValidationComplete();
            }

            return(console);
        }
        public void ValidateWithTwoPlayersSucceeds()
        {
            var game = CreateGame(2);

            validator.Validate(game);
        }