public void CavetubeMainTest2_RoomIdNotFound() { var clientFactory = new MockCavetubeClientFactory(); var mockClient = clientFactory.MockCavetubeClient; var authFactory = new MockCavetubeAuthFactory(); var mockAuth = authFactory.MockCavetubeAuth; var pso2Factory = new MockPso2LogWatcherFactory(); var mockPso2 = pso2Factory.MockPso2LogWatcher; var summary = new SummaryWrapper(); //summary.RoomId = "roomid"; var manualEvent = new ManualResetEvent(false); var check = true; mockAuth.Setup(a => a.Login(It.IsAny <string>(), It.IsAny <string>())).Returns("apikey"); mockClient.Setup(cl => cl.JoinRoom(It.IsAny <string>())).Raises(m => m.OnJoin += null, "roomid"); mockClient.Setup(cl => cl.LeaveRoom()).Raises(m => m.OnLeave += null, "roomid"); mockClient.Setup(cl => cl.GetSummary(It.IsAny <string>())).Returns(summary); mockClient.Setup(cl => cl.PostComment(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>())) .Callback <string, string, string>((name, message, apikey) => { check = false; manualEvent.Set(); Assert.AreEqual("someone", name); Assert.AreEqual("message", message); Assert.AreEqual("apikey", apikey); }); var msg = new Pso2LogEventArgs(); msg.From = "someone"; msg.SendTo = "GUILD"; msg.Message = "message"; mockPso2.Setup(pso2 => pso2.Start()).Raises(pso2 => pso2.Pso2LogEvent += null, msg); var ex = Assert.Throws <ApplicationException>(() => { Pso2LogSender.CavetubeMain(authFactory, clientFactory, pso2Factory, () => { check = false; manualEvent.WaitOne(); }); }); Assert.AreEqual("部屋IDの取得に失敗しました", ex.Message); Assert.True(check); }
internal static int Start(IEnumerable <string> args) { var summaryWrapper = new SummaryWrapper(); var selectionMode = ParseArgs(args); var testedViewModels = TestedSolutionsManager.RetrieveSlnInfoViewModels(); var summaryResults = summaryWrapper.SummaryResults; switch (selectionMode) { case RunSelectionMode.All: using (var controller = new AnalyzerController(testedViewModels)) { controller.AnalysisManagers.CollectionChanged += (sender, changedEventArgs) => { if (changedEventArgs.Action != NotifyCollectionChangedAction.Add) { return; } var newManager = changedEventArgs.NewItems.Cast <AnalysisManager>().FirstOrDefault(); if (newManager == null) { throw new InvalidOperationException("newManager can't be null"); } newManager.AnalysisStatusChanged += (o, e) => { var localSlnInfo = e.SolutionInfo; var startupMode = e.StartupMode; var newStatus = e.NewStatus; var exitCode = e.DevenvExitCode; var statDesc = newStatus.GetAnalysisStatusDescription(); var slnFileName = newManager.SolutionInfo.SolutionFileName; StatWrapper summaryResult; if (summaryResults.TryGetValue(startupMode, out summaryResult)) { switch (newStatus) { case AnalysisStatus.OkFinished: Interlocked.Increment(ref summaryResult.OkCount); CisTsLog(() => { _DefaultWriter.WriteLine(CisFormatString, startupMode, slnFileName, statDesc); }); break; case AnalysisStatus.DiffFinished: Interlocked.Increment(ref summaryResult.DiffCount); CisTsLog(() => { _DefaultWriter.WriteLine(CisFormatString, startupMode, slnFileName, statDesc); }); break; case AnalysisStatus.PluginCrashed: Interlocked.Increment(ref summaryResult.FailCount); CisTsLog(() => { _DefaultWriter.WriteLine(CisFormatString, startupMode, slnFileName, statDesc); _DefaultWriter.WriteLine(Resources.CisFailMsg, slnFileName, startupMode, e.CrashReason.GetCrashMessage()); _DefaultWriter.WriteLine(Resources.WatchActivityLog, newManager.LogFileName.GetDevenvActivityLog()); if (exitCode != default(int)) { _DefaultWriter.WriteLine(Resources.ExitCodeMessage, exitCode); } }); break; } } localSlnInfo.SetStatusValue(startupMode, newStatus); }; }; controller.RunAll(); } break; default: _DefaultWriter.WriteLine("Unknown option {0}. Press any key to exit...", selectionMode); Environment.Exit(0); break; } _DefaultWriter.WriteLine( "----------------------------------------------------------Stat----------------------------------------------------------"); foreach (var mode in summaryResults.Keys) { var oks = summaryResults[mode].OkCount; var diffs = summaryResults[mode].DiffCount; var fails = summaryResults[mode].FailCount; _DefaultWriter.WriteLine("Mode: {0}. Oks: {1}. Diffs: {2}. Fails: {3}", mode, oks, diffs, fails); } return (summaryResults.Keys.Sum(startMode => summaryResults[startMode].DiffCount) + // Кол-во Diff'ов... summaryResults.Keys.Sum(startMode => summaryResults[startMode].FailCount)); // ... + Кол-во Fail'ов }