public void IsGameValid_WhenPinsNegative_ThrowInvalidArgument() { //Arrange _gameValidator = new GameValidator(); //Assert Assert.Throws <ArgumentException>(() => _gameValidator.IsThrowValid(-1, null)); }
static void Main(string[] args) { #region Log4NetInit log4net.Config.XmlConfigurator.Configure(); ILog logger = log4net.LogManager.GetLogger(typeof(Program)); #endregion try { IGameConfiguration configuration = new GameConfiguration(); IBoard board = configuration.BoardConfiguration.GetBoard(); List <ICoordinate> mines = configuration.MinesConfiguration.GetMines(); ICoordinate exit = configuration.ExitConfiguration.GetExitPoint(); IPosition start = configuration.StartConfiguration.GetStartPoint(); List <List <MoveType> > moves = configuration.MoveConfiguration.GetMoves(); ITurtle turtle = new Turtle(start); IGameValidator gameValidator = new GameValidator(board, mines, exit, start, moves, turtle); IGame game = new Game(board, mines, exit, start, moves, turtle, gameValidator); GameResult gameResult = game.Run(); Console.WriteLine(GetFinishInfo(gameResult)); } catch (Exception ex) { Console.WriteLine(ex.Message); logger.Error(ex); } Console.ReadLine(); }
public void ValidateGame_WhenPinsGreaterThan10_ThrowInvalidArgument() { //Arrange _gameValidator = new GameValidator(); //Assert Assert.Throws <ArgumentException>(() => _gameValidator.IsThrowValid(11, null)); }
public void GameValidator_Valid_WhenNumberLess() { var game = buildGame("01", "05", "09", "13", "17"); var validator = new GameValidator(game); Assert.AreEqual(false, validator.valid()); }
public void SetUp() { _gameValidator = new GameValidator(2); _players = new Dictionary <string, IPlayer>() { { Player1, new Player(Player1) }, { Player2, new Player(Player2) }, }; }
public void GameValidator_Errors_WhenNumberLess() { var game = buildGame("01", "05", "09", "13", "17"); var validator = new GameValidator(game); validator.valid(); Assert.AreEqual(1, validator.errors.Count()); CollectionAssert.Contains(validator.errors.ToList(), "Sua aposta deve conter pelo menos 10 números."); }
public void GameValidator_Valid_WhenTeamLess() { var game = buildGame("01", "02", "03", "04", "05", "06", "07", "08", "09", "10"); var validator = new GameValidator(game); Assert.AreEqual(false, validator.valid()); }
public void GameValidator_Errors_WhenTeamLess_WhenNumberLess() { var game = buildGame("01", "02", "03"); var validator = new GameValidator(game); validator.valid(); Assert.AreEqual(2, validator.errors.Count()); CollectionAssert.Contains(validator.errors.ToList(), "Sua aposta deve conter pelo menos 10 números."); CollectionAssert.Contains(validator.errors.ToList(), "Você deve apostar em pelo menos 5 times."); }
public void GameValidator_Valid_WhenNumberMax() { var game = buildGame("01", "05", "09", "13", "17", "21", "25", "29", "33", "37", "41", "45", "49", "53", "57", "61", "65", "69", "73", "77", "81"); var validator = new GameValidator(game); Assert.AreEqual(false, validator.valid()); }
public void GameValidator_Errors_WhenTeamLess() { var game = buildGame("01", "02", "03", "04", "05", "06", "07", "08", "09", "10"); var validator = new GameValidator(game); validator.valid(); Assert.AreEqual(1, validator.errors.Count()); CollectionAssert.Contains(validator.errors.ToList(), "Você deve apostar em pelo menos 5 times."); }
public void GameValidator_Valid_WhenGameIsValid() { var game = buildGame("01", "02", "05", "06", "09", "10", "13", "14", "17", "18", "19"); var validator = new GameValidator(game); Assert.AreEqual(true, validator.valid()); }
public GameController( ILogger <GameController> logger, IDistributedCache cache, GameService gameService, GameValidator validator, CoreOptions options, IHostEnvironment env ) : base(logger, cache, validator) { GameService = gameService; Options = options; Env = env; }
public void GameValidator_Errors_WhenNumberMax() { var game = buildGame("01", "05", "09", "13", "17", "21", "25", "29", "33", "37", "41", "45", "49", "53", "57", "61", "65", "69", "73", "77", "81"); var validator = new GameValidator(game); validator.valid(); Assert.AreEqual(1, validator.errors.Count()); CollectionAssert.Contains(validator.errors.ToList(), "Sua aposta deve conter até 20 números."); }
public async Task <GameResponse> Update(GameDto gameDto) { Game game = _mapper.Map <GameDto, Game>(gameDto); ValidationResult result = new GameValidator(_repositoryGame).Validate(game); if (!result.IsValid) { return(new GameResponse(result)); } await _repositoryGame.Update(game); return(new GameResponse(_mapper.Map <Game, GameDto>(game), new NotificacaoDto(NotificacaoDto.TipoMensagem.Sucesso, "Game atualizada com sucesso!"))); }
public void GameValidator_Errors_WhenGameIsValid() { var game = buildGame("01", "02", "05", "06", "09", "10", "13", "14", "17", "18", "19"); var validator = new GameValidator(game); validator.valid(); Assert.AreEqual(0, validator.errors.Count()); }
private void CompareFlags(Move m) { if (!GameValidator.IsLegalMove(m.MoveString)) { MoveFlags = ""; return; } string validatorFlags = GameValidator.GetMoveFlags(m.MoveString); GameValidator.AppendMove(m.MoveString); bool equal = true; foreach (char c in m.MoveFlags) { if (!validatorFlags.Contains(c) && c.ToString() != Moves.EnpassantCapture) { equal = false; break; } } if (equal) { foreach (char c in validatorFlags) { if (!m.MoveFlags.Contains(c)) { equal = false; break; } } } this.MoveFlags = "MV : '" + m.MoveFlags + "'" + Environment.NewLine + "GV : '" + validatorFlags + "'" + Environment.NewLine; this.MoveFlags += "Fen : '" + m.Fen + "'" + Environment.NewLine + "Move : '" + m.MoveString + "'"; if (equal) { return; } if (MoveFlagsError != null) { MoveFlagsError(this, EventArgs.Empty); } }
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 Run() { IGameConfiguration configuration = new GameConfiguration(); IBoard board = configuration.BoardConfiguration.GetBoard(); List <ICoordinate> mines = configuration.MinesConfiguration.GetMines(); ICoordinate exit = configuration.ExitConfiguration.GetExitPoint(); IPosition start = configuration.StartConfiguration.GetStartPoint(); List <List <MoveType> > moves = configuration.MoveConfiguration.GetMoves(); ITurtle turtle = new Turtle(start); IGameValidator gameValidator = new GameValidator(board, mines, exit, start, moves, turtle); IGame game = new Game(board, mines, exit, start, moves, turtle, gameValidator); GameResult gameResult = game.Run(); Assert.AreEqual(gameResult.ResultList[0], Status.StillInDanger); Assert.AreEqual(gameResult.ResultList[1], Status.MineHit); Assert.AreEqual(gameResult.ResultList[2], Status.Success); Assert.AreEqual(gameResult.ResultList[3], Status.OutOfBoard); }
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 PerformanceTest1() { //paste TestData_Performance.txt contents to config.txt before running this test IGameConfiguration configuration = new GameConfiguration(); IBoard board = configuration.BoardConfiguration.GetBoard(); List <ICoordinate> mines = configuration.MinesConfiguration.GetMines(); ICoordinate exit = configuration.ExitConfiguration.GetExitPoint(); IPosition start = configuration.StartConfiguration.GetStartPoint(); List <List <MoveType> > moves = configuration.MoveConfiguration.GetMoves(); ITurtle turtle = new Turtle(start); IGameValidator gameValidator = new GameValidator(board, mines, exit, start, moves, turtle); IGame game = new Game(board, mines, exit, start, moves, turtle, gameValidator); GameResult gameResult = game.Run(); gameResult.ResultList.ForEach(result => { Assert.AreEqual(Status.StillInDanger, result); }); }
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(); }
public void SetFen(string fen) { if (string.IsNullOrEmpty(fen) || !GameValidator.IsValidFen(fen)) { return; } if (BeforeSetFen != null) { BeforeSetFen(this, EventArgs.Empty); } GameValidator = new GameW(fen); if (Flags.IsOffline) { if (Flags.IsClickedByUser) { if (IsSwapPlayersRequired) { SwapPlayers(); } } else { Clock.Reset(); Clock.Stop(); GameResult = GameResultE.InProgress; } Flags.EnPassant = SquareE.NoSquare; ResetCounters(); } if (AfterSetFen != null) { AfterSetFen(this, EventArgs.Empty); } }
/// <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 GameSong_MustBeAssociatedWith_EitherGameOrDlc(string locale) { var lorem = new Bogus.DataSets.Lorem(locale) { Random = new Randomizer(1080) }; Game fakeGame = new Game() { Title = lorem.Letter(1) }; Song fakeSong = new Song() { Title = lorem.Letter(1), Composer = lorem.Letter((1)), Album = lorem.Letter(1) }; var randomFluent = new Bogus.Faker() { Random = new Randomizer(1080) }; DifficultyMode fakeMode = new DifficultyMode(); fakeMode.Level = randomFluent.Random.Int(1, 20); fakeMode.Category = DifficultyCategory.Easy; Ez2OnGameTrack fakeGameTrack = new Ez2OnGameTrack(fakeSong, fakeGame, fakeMode); SongValidator fakeSongValidator = new SongValidator(); GameValidator fakeGameValidator = new GameValidator(); GameTrackValidator mockValidator = new GameTrackValidator(fakeSongValidator, fakeGameValidator); var gameMusicResults = mockValidator.Validate(fakeGameTrack); Assert.True(gameMusicResults.IsValid); }
public GameService(GameRepository repository, TeamRepository teamRepository, GameValidator validator) { this.repository = repository; this.teamRepository = teamRepository; this.validator = validator; }
public GameValidatorTests() { validator = new GameValidator(); }
private void DoNewGame(string fen, GameMode gameMode, GameType gameType, OptionsBlitzClock blitzClock, OptionsLongClock longClock) { NewGameEventArgs args = new NewGameEventArgs(); if (BeforeNewGame != null) { BeforeNewGame(this, args); } if (args.Cancel) { return; } if (SaveDocking != null) { SaveDocking(this, EventArgs.Empty); } GameStartTimeLocal = DateTime.Now; Ap.Options.CurrentGameGuid = string.Empty; Stop(); InitialBoardFen = fen; PreviousGameMode = GameMode; PreviousPonderMove = string.Empty; GameMode = gameMode; GameType = gameType; #region Init //GameValidator = new GameW(this.InitialBoardFen); GameValidator.SetFen(this.InitialBoardFen); SpaceBarCounter = 0; CloseEngines(); if (GameType == GameType.Long) { GameTime.Init(longClock, true); } else { GameTime.Init(blitzClock, true); } if (Flags.IsBookLoadRequired) { Book.Load(null); } GameResult = GameResultE.InProgress; Reset(); if (DbGame != null && DbGame.IsFinished) { this.GameResult = DbGame.GameResultIDE; this.Flags.SetFlags(DbGame.GameFlags); } CurrentMove = RootMove.Clone(); Moves.Clear(); CurrentLine = null; #endregion #region Switch GameMode switch (GameMode) { case GameMode.None: break; case GameMode.HumanVsHuman: #region HumanVsHuman GameTime.TimeMin = 0; GameTime.GainPerMove = 0; Player1.Engine = null; Player2.Engine = null; Player2.Book = Book; Player1.PlayerTitle = Ap.UserProfile.LastName; Player2.PlayerTitle = "InfinityChess"; GameData.SetPlayers(Player1.PlayerTitle, Ap.UserProfile.FirstName, Player2.PlayerTitle, ""); gameTypeTitle = Ap.GetGameTypeTitle(GameType); #endregion break; case GameMode.HumanVsEngine: #region HumanVsEngine Player2EngineFileName = InfinitySettings.Settings.DefaultEngineXml.FilePath; Player1.Engine = null; if (DefaultEngine == null) { Player2.Engine = UCIEngine.Load(Player2EngineFileName, Options.DefaultHashTableSize, this); Player2.Engine.UseTablebases = Ap.EngineOptions.UseTablebases; DefaultEngine = Player2.Engine; } else { Player2.Engine = DefaultEngine; } Player2.Book = Book; DefaultBook = Player2.Book; Player1.PlayerTitle = Ap.UserProfile.LastName; Player2.PlayerTitle = Player2.Engine.EngineName; GameData.SetPlayers(Player1.PlayerTitle, Ap.UserProfile.FirstName, Player2.PlayerTitle, ""); gameTypeTitle = Ap.GetGameTypeTitle(GameType); #endregion break; case GameMode.EngineVsEngine: #region EngineVsEngine Player1.Engine = UCIEngine.Load(Player1EngineFileName, Player1EngineHashTableSize, this); Player1.Engine.UseTablebases = Ap.EngineOptions.UseTablebases; Player2.Engine = UCIEngine.Load(Player2EngineFileName, Player2EngineHashTableSize, this); Player2.Engine.UseTablebases = Ap.EngineOptions.UseTablebases; Player1.PlayerTitle = Player1.Engine.EngineName; Player2.PlayerTitle = Player2.Engine.EngineName; if (Player1.Book != null) { Player1.Book.NewGame(); } if (Player2.Book != null) { Player2.Book.NewGame(); } GameData.SetPlayers(Player1.PlayerTitle, "", Player2.PlayerTitle, ""); gameTypeTitle = Ap.GetGameTypeTitle(GameType); InitE2eResult(); #endregion break; case GameMode.OnlineHumanVsHuman: #region OnlineHumanVsHuman StartOnlineH2HGame(); #endregion break; case GameMode.OnlineHumanVsEngine: #region OnlineHumanVsEngine gameTypeTitle = Ap.GetGameTypeTitle(GameType); #endregion break; case GameMode.OnlineEngineVsEngine: #region OnlineEngineVsEngine if (Ap.PlayingMode.SelectedEngine == null) { StartOnlineH2HGame(); } else { StartOnlineE2EGame(); } #endregion break; case GameMode.Kibitzer: #region Kibitzer GameTime.Set(DbGame); GameResult = DbGame.GameResultIDE; Player1.PlayerTitle = DbGame.WhiteUser.UserName + " " + DbGame.WhiteUser.Engine.Name; Player2.PlayerTitle = DbGame.BlackUser.UserName + " " + DbGame.BlackUser.Engine.Name; if (DbGame.IsRated) { gameTypeTitle = GameType.ToString() + " " + DbGame.TimeMin.ToString() + "' + " + DbGame.GainPerMoveMin.ToString() + "'', " + "Rated"; if (DbGame.EloBlackBefore != 0 && !DbGame.BlackUser.IsGuest) { Player2.PlayerTitle += " " + DbGame.EloBlackBefore.ToString(); } if (DbGame.EloWhiteBefore != 0 && !DbGame.WhiteUser.IsGuest) { Player1.PlayerTitle += " " + DbGame.EloWhiteBefore.ToString(); } } else { gameTypeTitle = GameType.ToString() + " " + DbGame.TimeMin.ToString() + "' + " + DbGame.GainPerMoveMin.ToString() + "'', " + "Unrated"; } GameData.SetPlayers(Player1.PlayerTitle, "", Player2.PlayerTitle, ""); #endregion break; default: break; } #endregion if (DefaultEngine != null) { if (DefaultEngine.IsClosed) { DefaultEngine.Load(); } } Flags.IsEngineBlack = true; #region Start Clock.NewGame(); Notations.NewGame(); if (Flags.IsBookLoadRequired) { Book.NewGame(); } CapturedPieces.NewGame(); GameData.NewGame(); Clipboard.Reset(); GameData.Tournament = GameTypeTitle; Ap.Options.GameType = gameType; Ap.Options.Save(); #endregion if (CreateDocking != null) { CreateDocking(this, EventArgs.Empty); } Flags.IsInfiniteAnalysisOn = false; MediaPlayer.PlaySound(SoundFileNameE.SetPieces); SetFen(fen); Flags.IsBoardSetByFen = fen != ChessLibrary.FenParser.InitialBoardFen; if (Flags.IsOnline && DbGame != null) { Flags.IsChallengerSendsGame = DbGame.IsChallengerSendsGame; } SetSuddenDeathMatchTime(); if (AfterNewGame != null) { AfterNewGame(this, EventArgs.Empty); } }