public TestMetadataExplorer(
     TestProvider provider,
     TestIdentifier conventionCheck,
     UnitTestElementFactory unitTestElementFactory)
 {
     this.provider = provider;
     this.conventionCheck = conventionCheck;
     this.unitTestElementFactory = unitTestElementFactory;
 }
Beispiel #2
0
 public TestMetadataExplorer(
     TestProvider provider,
     TestIdentifier conventionCheck,
     UnitTestElementFactory unitTestElementFactory)
 {
     this.provider               = provider;
     this.conventionCheck        = conventionCheck;
     this.unitTestElementFactory = unitTestElementFactory;
 }
Beispiel #3
0
        private IUnitTestElement GetDynamicCaseElement(
            Dictionary <RemoteTask, IUnitTestElement> tasks,
            TestCaseTask caseTask)
        {
            var methodElement =
                tasks.Where(kvp => kvp.Key is TestMethodTask && IsParentMethodTask(kvp.Key as TestMethodTask, caseTask))
                .Select(kvp => kvp.Value).FirstOrDefault() as TestMethodElement;

            if (methodElement == null)
            {
                return(null);
            }

            using (ReadLockCookie.Create())
            {
                var project = methodElement.GetProject();
                if (project == null)
                {
                    return(null);
                }

                var element = UnitTestElementFactory.GetTestCase(
                    project,
                    methodElement,
                    caseTask.MethodName + caseTask.Parameters);

                // Make sure we return an element, even if the system already knows about it. If it's
                // part of the test run, it will already have been added in GetTaskSequence, and this
                // method (GetDynamicElement) doesn't get called. But if you try and run just a single
                // theory, Fixie will run ALL theories for that method, and will need the elements
                // for those theories not included in the task sequence. This is necessary because if
                // one of those theories throws an exception, UnitTestLaunch.TaskException doesn't
                // have an element to report against, and displays a message box
                if (element != null)
                {
                    // If the element is invalid, it's been removed from its parent, so add it back,
                    // and reset the state
                    if (element.State == UnitTestElementState.Invalid)
                    {
                        element.State  = UnitTestElementState.Dynamic;
                        element.Parent = methodElement;
                    }
                    return(element);
                }

                return(UnitTestElementFactory.CreateTestCase(
                           this,
                           project,
                           methodElement,
                           caseTask.MethodName + caseTask.Parameters));
            }
        }
 public TestFileExplorer(TestProvider provider, UnitTestElementFactory unitTestElementFactory, TestIdentifier conventionCheck)
 {
     this.provider = provider;
     this.unitTestElementFactory = unitTestElementFactory;
     this.conventionCheck = conventionCheck;
 }
 public TestElementSerializer(TestProvider provider, UnitTestElementFactory unitTestElementFactory, ISolution solution)
 {
     this.provider = provider;
     this.unitTestElementFactory = unitTestElementFactory;
     this.solution = solution;
 }
Beispiel #6
0
 public TestFileExplorer(TestProvider provider, UnitTestElementFactory unitTestElementFactory, TestIdentifier conventionCheck)
 {
     this.provider = provider;
     this.unitTestElementFactory = unitTestElementFactory;
     this.conventionCheck        = conventionCheck;
 }
Beispiel #7
0
 public TestElementSerializer(TestProvider provider, UnitTestElementFactory unitTestElementFactory, ISolution solution)
 {
     this.provider = provider;
     this.unitTestElementFactory = unitTestElementFactory;
     this.solution = solution;
 }