public void TestValidateInputJson() { var game = new GameBuilder().Build("Problems\\problem_0.json")[0]; var answer = "ia! ia!lei!llbbbbbbbeiia! ia!lei!llbbbbbbeiia! ia!lei!kklbbbbbbkkyugia! ia!r'lyehbdddeiia! ia!lei!dlbyuia! ia!in hiia! ia!lcthulhubyugia! ia!lcthulhukiia! ia!lbbbyuggia! ia!lbbbblblr'ia! ia!lbyuyuggothdapinyuggothdlbbbdlliia! ia!klbbbllbei!ia! ia!lei!dlir'lyehyuggothppaaklir'lyehyuggothr'lyehleiyuggothyuggotia! ia!lakyuggoia! ia!ldlbbbdinyuggothllbcthulia! ia!kklbbbbbbbklllkiei!r'lyehcthulhublinia! ia!lcthulhubyugia! ia!lkkiia! ia!dlbbbbbldinyuggothdlbbdldr'ia! ia!r'lyehbddr'ei!r'lyehcthulhulbyuggia! ia!r'lyehppddr'r'lyehyuggothr'lyeheiei!r'lyehyuggothliin his hoia! ia!lbbbbblbblliei!r'lyehr'lyehdei!pkapinia! ia!laakei!ia! ia!llblliia! ia!dlbbdlbbblir'lyehyuggothei!ppia!ia! ia!llklbbbbei!ia! ia!r'lyehr'lyia! ia!lddlbbdlyugia! ia!in r'lyehyuggothr'lyehbei!ia! ia!ldinyuggothcthulhubbbdliia! ia!lyuggyuggothyuggothkkkiia! ia!klblblbleiei!r'lyehyuggothdlyugei!r'lyehr'lyehdlbdlbliyuggothcthulhubbbllkiia! ia!r'lyehbblr'ia! ia!linyuggothyuggothpkiia! ia!llei!yuggothyuggothkkiia! ia!lbbbbldinia! ia!dlbbbdlbblkiia! ia!dlbbbdei!yuggothdei!ppkiei!r'lyehcthulhuklbbbdliia! ia!r'lyehbbbbbbldar'lei!r'lyehyuggothei!r'lyr'lyehyuggothr'lyehiia! ia!lei!klbbkei!ia! ia!dlbbbbbbbddliia! ia!lei!llbeiia! ia!r'lyehpdddiia! ia!r'lyehpinia! ia!lei!klbbblbbeiei!r'lyehyuggothcthulhia! ia!r'lyehpinia! ia!lr'lyehyuggia! ia!lei!lbbbei!ia! ia!lakklbbbblkyugei!r'lyehcthulhulblbddliia! ia!lei!lkinia! ia!lei!klbbbbbei!ia! ia!ldlblbyur'lyehyuggothcthulhia! ia!r'lyehbbbblblyugia! ia!r'lyehkkicthulhukei!ppppr'lyia! ia!ldlbbbbbdei!ia! ia!linyuggothcthulhubblbliei!r'lyehyuggothbbbdlinia! ia!r'lyehbldeiia! ia!in hia! ia!ldr'ia! ia!r'lyehbblbdeiia! ia!lbbblr'ia! ia!r'lyehbbbblbblir'lyehin his hoia! ia!lei!kklbbbbbbbkkyugia! ia!r'lyehcthulia! ia!lpr'lyia! ia!r'lyehbbbbdddeiia! ia!lbblbdei"; var result = new GameHistoryValidator().Validate(game, answer); Console.WriteLine(result.IsValid); Console.WriteLine(result.Reason); Console.WriteLine(result.WrongMoveNumber); Assert.IsTrue(result.IsValid); }
static void Main(string[] args) { //TODO прибить перед паблишем var stopwatch = new Stopwatch(); stopwatch.Start(); ParseArguments(args); TimeLimiter.Start(TimeSpan.FromSeconds(timeLimit)); MagicWordsStore.AddWords(powerWords); players = timeLimit == 0 && memoryLimit == 0 ? GetOrderedPlayers().ToArray() : (coresCount == 0 ? GetOrderedPlayers().ToArray() : GetOrderedPlayers().Take(coresCount).ToArray()); var outputs = new List<Output>(); foreach (var filename in filenames) { if (TimeLimiter.NeedStop()) break; var games = new GameBuilder().Build(filename); foreach (var game in games) { if (TimeLimiter.NeedStop()) break; var best = -1; var playerName = string.Empty; var commands = string.Empty; var playGameTasks = players.Select(player => Play(game, player)).ToArray(); for (int i = 0; i < playGameTasks.Length; i++) { var playResult = playGameTasks[i].Result; if (playResult.Score > best) { best = playResult.Score; playerName = playResult.PlayerName; commands = playResult.Commands; } } //TODO прибить при паблише Console.WriteLine("Score = {0}", best); if (!new GameHistoryValidator().Validate(game, commands).IsValid) { Console.WriteLine("Not Valid"); } outputs.Add(new Output { tag = playerName, seed = game.Seed, problemId = game.ProblemId, solution = commands }); } } var result = new OutputWriter().GenWriteString(outputs.ToArray()); Console.WriteLine(result); //TODO прибить перед паблишем stopwatch.Stop(); Console.WriteLine("Done in {0} ms", stopwatch.ElapsedMilliseconds); }
public Form1() { InitializeComponent(); gameBuilder = new GameBuilder(); }