private void Build(PPPHandBuilder builder, IEnumerable <PPPokerPackage> packages, out HandHistory history) { history = null; foreach (var package in packages) { if (builder.TryBuild(package, out history)) { break; } } }
public void MultipleTryBuildTest(string folder) { var testFolder = Path.Combine(TestDataFolder, folder); DirectoryAssert.Exists(testFolder); var logFiles = Directory.GetFiles(testFolder, "*.txt"); var capturedPackets = new List <CapturedPacket>(); foreach (var logFile in logFiles) { capturedPackets.AddRange(TcpImporterTestUtils.ReadCapturedPackets(logFile, null)); } capturedPackets = capturedPackets.OrderBy(x => x.CreatedTimeStamp).ToList(); var handHistories = new List <HandHistory>(); var packetManager = new PPPokerPacketManager(); var handBuilder = new PPPHandBuilder(); var debugPPPImporter = new DebugPPPImporter(); foreach (var capturedPacket in capturedPackets) { if (!packetManager.TryParse(capturedPacket, out IList <PPPokerPackage> packages)) { continue; } foreach (var package in packages) { if (!PPPImporterStub.IsAllowedPackage(package)) { continue; } package.Timestamp = capturedPacket.CreatedTimeStamp; debugPPPImporter.LogPackage(capturedPacket, package); if (handBuilder.TryBuild(package, out HandHistory handHistory)) { handHistories.Add(handHistory); LogProvider.Log.Info($"Hand #{handHistory.HandId} has been sent. [{package.ClientPort}]"); } } } WriteHandHistoriesToFile(handHistories); Assert.IsTrue(handHistories.Count > 0); }