Beispiel #1
0
 bool SetStarted(TestSuiteWrapper suite)
 {
     if (suite == null)
     {
         return(false);
     }
     if (!_testSuiteStarted.Contains(suite))
     {
         _testSuiteStarted.Add(suite);
         var parent = suite.Parent as TestSuiteWrapper;
         if (parent != null)
         {
             SetStarted(parent);
             parent.RunningTests.Add(suite);
         }
         OnTestStarted(new UnitTestTestEventArgs(suite));
         return(true);
     }
     return(false);
 }
Beispiel #2
0
        public TestSuiteWrapper GetSuite(string fullName, bool isClass)
        {
            var names = fullName.Split('.');
            TestSuiteWrapper suite = this;
            var len = isClass ? names.Length : names.Length - 1;

            for (int i = 0; i < len; i++)
            {
                string name  = names[i];
                var    child = suite.Children.FirstOrDefault(r => r.Name == name) as TestSuiteWrapper;
                if (child == null)
                {
                    child = new TestSuiteWrapper {
                        Name = name, Parent = suite, Assembly = Assembly
                    };
                    suite.Children.Add(child);
                }
                suite = child;
            }
            return(suite);
        }
Beispiel #3
0
 void SetStatus(TestSuiteWrapper suite, TestStatus status)
 {
     if (suite == null)
     {
         return;
     }
     if (_testSuiteStatus.TryGetValue(suite, out var currentStatus))
     {
         status = (TestStatus)Math.Max((int)currentStatus, (int)status);
     }
     _testSuiteStatus[suite] = status;
     if (_testSuiteStarted.Contains(suite) && suite.RunningTests.Count == 0)
     {
         _testSuiteStarted.Remove(suite);
         var parent = suite.Parent as TestSuiteWrapper;
         if (parent != null)
         {
             parent.RunningTests.Remove(suite);
         }
         OnTestFinished(new UnitTestResultEventArgs(new TestResultWrapper(suite, status)));
         SetStatus(parent, status);
     }
 }