public void Constructor_Normal_ThreadsNotNull() { var mock = new Mock<IDiagnoseOutputEntry>(); mock.Setup(x => x.Type).Returns(DiagnoseType.SingleOutput); mock.Setup(x => x.Duration).Returns(1); mock.Setup(x => x.Gap).Returns(2); var processViewModel = new ProcessViewModel(mock.Object, 0); processViewModel.Threads.Should().NotBeNull(); }
public void ProcessNewDiagnoseOutputEntry_NewEntryWithExistingThreadNumber_AddsNewEntryAndNoNewThread() { var mock = new Mock<IDiagnoseOutputEntry>(); mock.Setup(x => x.ThreadNumber).Returns(1234); mock.Setup(x => x.Type).Returns(DiagnoseType.SingleOutput); mock.Setup(x => x.Duration).Returns(1); mock.Setup(x => x.Gap).Returns(2); var processViewModel = new ProcessViewModel(mock.Object, 0); processViewModel.ProcessNewDiagnoseOutputEntry(mock.Object); processViewModel.Threads.Count.Should().Be(1); processViewModel.Threads.Should().Contain(x => x.ThreadNumber == 1234); }
public void ProcessNewDiagnoseOutputEntry_NewEntriesDifferentDurations_TotalDurationIsMaximumDuration() { var mock1 = new Mock<IDiagnoseOutputEntry>(); mock1.Setup(x => x.ThreadNumber).Returns(1); mock1.Setup(x => x.Gap).Returns(2); mock1.Setup(x => x.Duration).Returns(3); var mock2 = new Mock<IDiagnoseOutputEntry>(); mock2.Setup(x => x.ThreadNumber).Returns(4); mock2.Setup(x => x.Gap).Returns(5); mock2.Setup(x => x.Duration).Returns(6); var processViewModel = new ProcessViewModel(mock1.Object, 0); processViewModel.ProcessNewDiagnoseOutputEntry(mock2.Object); processViewModel.TotalDuration.Should().Be(16); }
public void ProcessNewDiagnoseOutputEntry(IDiagnoseOutputEntry diagnoseOutputEntry) { var process = Processes.SingleOrDefault(x => x.ProcessId == diagnoseOutputEntry.ProcessId); if (process == null) { process = new ProcessViewModel(diagnoseOutputEntry, TotalDuration); Processes.Add(process); ProcessIsShownChanged(process); } else { process.ProcessNewDiagnoseOutputEntry(diagnoseOutputEntry); } TotalDuration = process.TotalDuration; foreach (ProcessViewModel p in Processes) { p.UpdateTotalDuration(TotalDuration); } }