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); }
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); }
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); }
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); }
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(); }
/// <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); }