public void TestClass_Equality_Default() { var a = new TestRunInterval.TestClassResult(); var b = new TestRunInterval.TestClassResult(); Assert.AreEqual(a, b); }
public void TestClass_Equality_TestMethods() { var a = new TestRunInterval.TestClassResult { TestMethods = { new TestRunInterval.TestMethodResult { TestMethodName = "a" } } }; var b = new TestRunInterval.TestClassResult { TestMethods = { new TestRunInterval.TestMethodResult { TestMethodName = "a" } } }; var c = new TestRunInterval.TestClassResult { TestMethods = { new TestRunInterval.TestMethodResult { TestMethodName = "c" } } }; Assert.AreEqual(a, b); Assert.AreNotEqual(b, c); }
public void ProcessEvent(IDEEvent @event) { Asserts.That(@event.TriggeredAt.HasValue); var testRunEvent = @event as TestRunEvent; if (testRunEvent != null) { var testsByProject = testRunEvent.Tests.GroupBy(t => t.TestMethod.DeclaringType.Assembly.Name); foreach (var testProject in testsByProject) { var interval = _context.CreateIntervalFromEvent <TestRunInterval>(@event); interval.ProjectName = testProject.Key; foreach (var testClass in testProject.GroupBy(p => p.TestMethod.DeclaringType.FullName)) { var testClassResult = new TestRunInterval.TestClassResult { TestClassName = testClass.Key }; var firstStarted = DateTimeOffset.MaxValue; var lastEnded = DateTimeOffset.MinValue; foreach (var testMethod in testClass) { // TODO untested ( if (testMethod.StartTime.HasValue) { var delta = Math.Round((@event.TriggeredAt.Value - testMethod.StartTime.Value).TotalHours); var now = DateTime.Now; var detltaTs = now.AddHours(delta) - now; testMethod.StartTime = testMethod.StartTime.Value + detltaTs; } var startedAt = testMethod.StartTime ?? @event.TriggeredAt.Value; var endedAt = startedAt + testMethod.Duration; if (startedAt < firstStarted) { firstStarted = startedAt; } if (endedAt > lastEnded) { lastEnded = endedAt; } // ) var testMethodResult = new TestRunInterval.TestMethodResult { TestMethodName = testMethod.TestMethod.Name + testMethod.Parameters, // TODO untested StartedAt = startedAt, Duration = testMethod.Duration, Result = testMethod.Result }; testClassResult.TestMethods.Add(testMethodResult); testClassResult.Result = UpdateCumulativeTestResult( testClassResult.Result, testMethod.Result); interval.Result = UpdateCumulativeTestResult( testClassResult.Result, testMethod.Result); } // untested ( testClassResult.StartedAt = firstStarted; testClassResult.Duration = lastEnded - firstStarted; // ) interval.TestClasses.Add(testClassResult); interval.Duration += testClassResult.Duration; } _currentIntervals.Add(interval); } } }