public AssemblyExplorer(MSpecUnitTestProvider provider,
#if RESHARPER_61
                            IUnitTestElementManager manager,
                            PsiModuleManager psiModuleManager,
                            CacheManager cacheManager,
#endif
                            IMetadataAssembly assembly,
                            IProject project,
                            UnitTestElementConsumer consumer)
    {
      _assembly = assembly;
      _consumer = consumer;

      using (ReadLockCookie.Create())
      {
        var projectEnvoy = new ProjectModelElementEnvoy(project);

        var cache = new ContextCache();
#if RESHARPER_61
        _contextFactory = new ContextFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, _assembly.Location.FullPath, cache);
        _contextSpecificationFactory = new ContextSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
        _behaviorFactory = new BehaviorFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
        _behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy);
#else
#if RESHARPER_6
        _contextFactory = new ContextFactory(provider, project, projectEnvoy, _assembly.Location.FullPath, cache);
#else
        _contextFactory = new ContextFactory(provider, project, projectEnvoy, _assembly.Location, cache);
#endif
        _contextSpecificationFactory = new ContextSpecificationFactory(provider, project, projectEnvoy, cache);
        _behaviorFactory = new BehaviorFactory(provider, project, projectEnvoy, cache);
        _behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, project, projectEnvoy);
#endif
      }
    }
Exemplo n.º 2
0
 private void AddStoriesToProject(IProject project, UnitTestElementConsumer consumer, StorEvilProjectElement projectElement, IEnumerable <Story> stories)
 {
     foreach (Story story in stories)
     {
         AddStoryElement(story, project, consumer, projectElement);
     }
 }
        public AssemblyExplorer(MSpecUnitTestProvider provider,
#if RESHARPER_61
                                IUnitTestElementManager manager,
                                PsiModuleManager psiModuleManager,
                                CacheManager cacheManager,
#endif
                                IMetadataAssembly assembly,
                                IProject project,
                                UnitTestElementConsumer consumer)
        {
            _assembly = assembly;
            _consumer = consumer;

            using (ReadLockCookie.Create())
            {
                var projectEnvoy = new ProjectModelElementEnvoy(project);

                var cache = new ContextCache();
#if RESHARPER_61
                _contextFactory = new ContextFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, _assembly.Location.FullPath, cache);
                _contextSpecificationFactory  = new ContextSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
                _behaviorFactory              = new BehaviorFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy, cache);
                _behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, manager, psiModuleManager, cacheManager, project, projectEnvoy);
#else
#if RESHARPER_6
                _contextFactory = new ContextFactory(provider, project, projectEnvoy, _assembly.Location.FullPath, cache);
#else
                _contextFactory = new ContextFactory(provider, project, projectEnvoy, _assembly.Location, cache);
#endif
                _contextSpecificationFactory  = new ContextSpecificationFactory(provider, project, projectEnvoy, cache);
                _behaviorFactory              = new BehaviorFactory(provider, project, projectEnvoy, cache);
                _behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, project, projectEnvoy);
#endif
            }
        }
        public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
        {
            if (assembly.ReferencedAssembliesNames.Any(n => n.Name == SilverlightMsTestAssemblyName))
            {
                var originalReferencedAssemblies = InjectMsTestIntoReferencedAssemblyNames(assembly);

                try
                {
#if RS70
                    if (msTest11Provider != null)
                    {
                        new mstest11::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestMetadataExplorer(msTest11ElementFactory, project, shellLocks, consumer).ExploreAssembly(assembly);
                    }
                    else
#endif
                    if (msTest10Provider != null)
                    {
                        new mstest10::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestMetadataExplorer(msTest10ElementFactory, project, shellLocks, consumer).ExploreAssembly(assembly);
                    }
                    else if (msTestLegacyProvider != null)
                    {
                        new mstestlegacy::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestMetadataExplorer(msTestLegacyElementFactory, project, shellLocks, consumer).ExploreAssembly(assembly);
                    }
                }
                finally
                {
                    SetReferencedAssemblyNames(assembly, originalReferencedAssemblies);
                }
            }
        }
        public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer, ManualResetEvent exitEvent)
        {
            var envoy = ProjectModelElementEnvoy.Create(project);
            if (assembly.ReferencedAssembliesNames.Any(n => n.Name == SilverlightMsTestAssemblyName))
            {
                var allElements = new List<IUnitTestElement>();
                var mappedElements = new Dictionary<IUnitTestElement, IUnitTestElement>();

                new mstestlegacy::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestMetadataExplorer(msTestElementFactory, msTestAttributesProvider, project, shellLocks, allElements.Add)
                    .ExploreAssembly(assembly);

                foreach (var classElement in allElements.OfType<mstest10::JetBrains.ReSharper.UnitTestProvider.MSTest10.MsTestTestClassElement>())
                    mappedElements.Add(classElement, elementFactory.GetOrCreateClassElement(classElement.TypeName, project, envoy));

                foreach (var methodElement in allElements.OfType<mstest10::JetBrains.ReSharper.UnitTestProvider.MSTest10.MsTestTestMethodElement>())
                    mappedElements.Add(methodElement, elementFactory.GetOrCreateMethodElement(methodElement.Id, project, (mstestlegacy::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestTestClassElementBase)mappedElements[methodElement.Parent], envoy, methodElement.TypeName));

                foreach (var rowElement in allElements.OfType<mstest10::JetBrains.ReSharper.UnitTestProvider.MSTest10.MsTestTestRowElement>())
                    mappedElements.Add(rowElement, elementFactory.GetOrCreateRowElement(rowElement.Id, project, (mstestlegacy::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestTestMethodElementBase)mappedElements[rowElement.Parent], envoy));

                foreach (var element in allElements)
                {
                    IUnitTestElement mappedElement;
                    if (mappedElements.TryGetValue(element, out mappedElement))
                        consumer(mappedElements[element]);
                    else
                        consumer(element);
                }

            }
        }
    public void Explore(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer, IMetadataTypeInfo metadataTypeInfo)
    {
      if (!metadataTypeInfo.IsContext())
      {
        return;
      }

      var contextElement = _factories.Contexts.CreateContext(project, assembly.Location.FullPath, metadataTypeInfo);

      consumer(contextElement);

      metadataTypeInfo.GetSpecifications()
          .ForEach(x => consumer(_factories.ContextSpecifications.CreateContextSpecification(contextElement, x)));


      metadataTypeInfo.GetBehaviors().ForEach(x =>
      {
        var behaviorElement = _factories.Behaviors.CreateBehavior(contextElement, x);
        consumer(behaviorElement);


        _factories.BehaviorSpecifications
                    .CreateBehaviorSpecificationsFromBehavior(behaviorElement, x)
                    .ForEach(y => consumer(y));
      });
    }
 public void ExploreAssembly(IProject project,
                             IMetadataAssembly assembly,
                             UnitTestElementConsumer consumer,
                             ManualResetEvent exitEvent)
 {
   ExploreAssembly(project, assembly, consumer);
 }
Exemplo n.º 8
0
 public void ExploreAssembly(IProject project,
                             IMetadataAssembly assembly,
                             UnitTestElementConsumer consumer,
                             ManualResetEvent exitEvent)
 {
     ExploreAssembly(project, assembly, consumer);
 }
 private void AddStoriesToProject(IProject project, UnitTestElementConsumer consumer, StorEvilProjectElement projectElement, IEnumerable<Story> stories)
 {
     foreach (Story story in stories)
     {
         AddStoryElement(story, project, consumer, projectElement);
     }
 }
Exemplo n.º 10
0
        public void ExploreAssembly(IMetadataAssembly assembly, IProject project, UnitTestElementConsumer consumer)
        {
            foreach (IMetadataTypeInfo type in assembly.GetTypes())
            {
                if (!IsTestFixture(type))
                {
                    continue;
                }

                var fixture = new MSTestFixtureElement(this, project, type.FullyQualifiedName, assembly.Location);
                fixture.SetExplicit(GetExplicitString(type));

                consumer(fixture);
                int order = 0;
                foreach (IMetadataMethod method in GetAllTestMethods(type))
                {
                    if (!IsTestMethod(method))
                    {
                        continue;
                    }

                    var testElement = new MSTestElement(this, fixture, project,
                                                        method.DeclaringType.FullyQualifiedName, method.Name,
                                                        order++);
                    testElement.SetExplicit(GetExplicitString(method));
                    consumer(testElement);
                }
            }
        }
Exemplo n.º 11
0
        public void ExploreAssembly(
            IProject project,
            IMetadataAssembly metadataAssembly,
            UnitTestElementConsumer consumer,
            ManualResetEvent exitEvent)
        {
            using (ReadLockCookie.Create())
            {
                if (project.GetModuleReferences().All(module => module.Name != "Fixie"))
                {
                    return;
                }

                foreach (var metadataTypeInfo in GetExportedTypes(metadataAssembly.GetTypes()))
                {
                    bool isTestClass = ExploreType(project, metadataAssembly, consumer, metadataTypeInfo);
                    if (isTestClass)
                    {
                        foreach (var metadataMethod in metadataTypeInfo.GetMethods())
                        {
                            ExploreMethod(project, metadataAssembly, consumer, metadataMethod);
                        }
                    }
                }
            }
        }
        public void Explore(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
        {
            if (!assembly.ReferencedAssembliesNames.Any(x => String.Equals(
                                                            x.Name,
                                                            typeof(It).Assembly.GetName().Name,
                                                            StringComparison.InvariantCultureIgnoreCase)))
            {
                return;
            }

            assembly.GetTypes().Where(type => type.IsContext()).ForEach(type =>
            {
                var contextElement = _factories.Contexts.CreateContext(project, assembly.Location.FullPath, type);
                consumer(contextElement);

                type
                .GetSpecifications()
                .ForEach(x => consumer(_factories.ContextSpecifications.CreateContextSpecification(contextElement, x)));

                type.GetBehaviors().ForEach(x =>
                {
                    var behaviorElement = _factories.Behaviors.CreateBehavior(contextElement, x);
                    consumer(behaviorElement);

                    _factories.BehaviorSpecifications
                    .CreateBehaviorSpecificationsFromBehavior(behaviorElement, x)
                    .ForEach(y => consumer(y));
                });
            });
        }
        public void Explore(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer, IMetadataTypeInfo metadataTypeInfo)
        {
            if (!metadataTypeInfo.IsContext())
            {
                return;
            }

            var contextElement = _factories.Contexts.CreateContext(project, assembly.Location.FullPath, metadataTypeInfo);

            consumer(contextElement);

            metadataTypeInfo.GetSpecifications()
            .ForEach(x => consumer(_factories.ContextSpecifications.CreateContextSpecification(contextElement, x)));


            metadataTypeInfo.GetBehaviors().ForEach(x =>
            {
                var behaviorElement = _factories.Behaviors.CreateBehavior(contextElement, x);
                consumer(behaviorElement);


                _factories.BehaviorSpecifications
                .CreateBehaviorSpecificationsFromBehavior(behaviorElement, x)
                .ForEach(y => consumer(y));
            });
        }
    public void Explore(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
    {
      if (!assembly.ReferencedAssembliesNames.Any(x => String.Equals(
                                                                     x.Name,
                                                                     typeof(It).Assembly.GetName().Name,
                                                                     StringComparison.InvariantCultureIgnoreCase)))
      {
        return;
      }

      assembly.GetTypes().Where(type => type.IsContext()).ForEach(type =>
      {
        var contextElement = _factories.Contexts.CreateContext(project,assembly.Location.FullPath, type);
        consumer(contextElement);

        type
          .GetSpecifications()
          .ForEach(x => consumer(_factories.ContextSpecifications.CreateContextSpecification(contextElement, x)));

        type.GetBehaviors().ForEach(x =>
        {
          var behaviorElement = _factories.Behaviors.CreateBehavior(contextElement, x);
          consumer(behaviorElement);

          _factories.BehaviorSpecifications
                    .CreateBehaviorSpecificationsFromBehavior(behaviorElement, x)
                    .ForEach(y => consumer(y));
        });
      });
    }
 public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
 {
   using (ReadLockCookie.Create()) //Get a read lock so that it is safe to read the assembly
   {
     foreach (var metadataTypeInfo in GetTypesIncludingNested(assembly.GetTypes()))
       this._assemblyExplorer.Explore(project, assembly, consumer, metadataTypeInfo);
   }
 }
Exemplo n.º 16
0
 public MetadataExplorer(IUnitTestProvider provider, ISolution solution, IProject project, UnitTestElementConsumer consumer)
 {
     testProvider = provider;
     this.consumer = consumer;
     this.project = project;
     this.solution = solution;
     projectModel = new ProjectModelElementEnvoy(this.project);
 }
    public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
    {
      new AssemblyExplorer(_provider,
#if RESHARPER_61
        _manager, _psiModuleManager, _cacheManager, 
#endif
        assembly, project, consumer).Explore();
    }
Exemplo n.º 18
0
        public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
        {
            new AssemblyExplorer(_provider,
#if RESHARPER_61
                                 _manager, _psiModuleManager, _cacheManager,
#endif
                                 assembly, project, consumer).Explore();
        }
Exemplo n.º 19
0
 public MetadataExplorer(IUnitTestProvider provider, ISolution solution, IProject project, UnitTestElementConsumer consumer)
 {
     testProvider  = provider;
     this.consumer = consumer;
     this.project  = project;
     this.solution = solution;
     projectModel  = new ProjectModelElementEnvoy(this.project);
 }
 // ReSharper 8.0
 public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer, ManualResetEvent exitEvent)
 {
     // TODO: Monitor exitEvent to stop processing. Note that nunit currently ignores it, too
     using (ReadLockCookie.Create())
     {
         foreach (var metadataTypeInfo in GetExportedTypes(assembly.GetTypes()))
             ExploreType(project, assembly, consumer, metadataTypeInfo);
     }
 }
Exemplo n.º 21
0
                public ConsumerAdapter(IUnitTestProvider provider, UnitTestElementConsumer consumer)
                {
                    this.provider = provider;
                    this.consumer = consumer;

                    messageConsumer = new MessageConsumer()
                                      .Handle <TestDiscoveredMessage>(HandleTestDiscoveredMessage)
                                      .Handle <AnnotationDiscoveredMessage>(HandleAnnotationDiscoveredMessage);
                }
        public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
        {
            var types = GetExportedTypes(assembly.GetTypes()).ToArray();

            foreach (var metadataTypeInfo in types)
            {
                ExploreType(project, assembly, consumer, metadataTypeInfo);
            }
        }
        private void AddStoryElement(Story story, IProject project,
            UnitTestElementConsumer consumer, StorEvilProjectElement parent)
        {
            var storyElement = GetStoryElement(parent, project, story);
            consumer(storyElement);

            foreach (IScenario scenario in story.Scenarios)
                AddScenarioElement(project, consumer, storyElement, scenario);
        }
Exemplo n.º 24
0
            /// <summary>
            /// Explores the "world", i.e. retrieves tests not associated with current solution.
            /// </summary>
            public void ExploreExternal(UnitTestElementConsumer consumer)
            {
                if (consumer == null)
                {
                    throw new ArgumentNullException("consumer");
                }

                // Nothing to do currently.
            }
 private void AddScenarioElement(IProject project, UnitTestElementConsumer consumer,
     StorEvilStoryElement storyElement, IScenario scenario)
 {
     if (scenario is Scenario)
         consumer(new StorEvilScenarioElement(_provider, storyElement, project, scenario.Name, (Scenario)scenario));
     else
         consumer(new StorEvilScenarioOutlineElement(_provider, storyElement, project, scenario.Name,
                                                     (ScenarioOutline)scenario));
 }
 public XunitMetadataExplorer([NotNull] XunitElementFactory factory, IShellLocks shellLocks, IProject project, UnitTestElementConsumer consumer)
 {
     if (factory == null) throw new ArgumentNullException("factory");
     this.project = project;
     this.consumer = consumer;
     this.shellLocks = shellLocks;
     this.factory = factory;
     envoy = ProjectModelElementEnvoy.Create(project);
 }
 public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
 {
     using (ReadLockCookie.Create()) //Get a read lock so that it is safe to read the assembly
     {
         foreach (var metadataTypeInfo in GetExportedTypes(assembly.GetTypes()))
         {
             this._assemblyExplorer.Explore(project, assembly, consumer, metadataTypeInfo);
         }
     }
 }
Exemplo n.º 28
0
 // ReSharper 8.0
 public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer, ManualResetEvent exitEvent)
 {
     // TODO: Monitor exitEvent to stop processing. Note that nunit currently ignores it, too
     using (ReadLockCookie.Create())
     {
         foreach (var metadataTypeInfo in GetExportedTypes(assembly.GetTypes()))
         {
             ExploreType(project, assembly, consumer, metadataTypeInfo);
         }
     }
 }
 private void ExploreType(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer, IMetadataTypeInfo metadataTypeInfo)
 {
     // It would be nice to use TestClassCommandFactory.Make(...), but that doesn't work
     // with RunWith, since Make ends up calling TypeUtility.GetRunWith, which tries to
     // call IAttributeInfo.GetInstance<RunWithAttribute>, and we can't support that.
     // So we'll break down Make and do it ourselves. If the runner finds any methods
     // that we don't find, it will create them at runtime
     var typeInfo = metadataTypeInfo.AsTypeInfo();
     if (TypeUtility.IsTestClass(typeInfo))
         ExploreTestClass(project, assembly, consumer, typeInfo, metadataTypeInfo.FullyQualifiedName);
 }
        private void ExploreSpecificationContainer(IProject project, SpecificationContainerElement container, UnitTestElementConsumer consumer, IMetadataTypeInfo metadataTypeInfo)
        {
            foreach (var field in metadataTypeInfo.GetFields())
            {
                if (!field.IsPublic)
                    continue;

                var x = field.Name;
                var methodElement = _elementFactory.GetOrCreateSpecificationElement(project, container, new ClrTypeName(metadataTypeInfo.FullyQualifiedName), x, string.Empty);
                consumer(methodElement);
            }
        }
Exemplo n.º 31
0
        private void AddStoryElement(Story story, IProject project,
                                     UnitTestElementConsumer consumer, UnitTestElement parent)
        {
            var storyElement = GetStoryElement(parent, project, story);

            consumer(storyElement);

            foreach (IScenario scenario in story.Scenarios)
            {
                AddScenarioElement(project, consumer, storyElement, scenario);
            }
        }
Exemplo n.º 32
0
        public MetadataExplorer(IUnitTestProvider provider, ISolution solution, IProject project, UnitTestElementConsumer consumer)
        {
            testProvider  = provider;
            this.consumer = consumer;
            this.project  = project;
            this.solution = solution;
            ProjectModelElementEnvoy p = null;

            ReadLockCookie.Execute(() =>
            {
                p = new ProjectModelElementEnvoy(this.project);
            });
            projectModel = p;
        }
Exemplo n.º 33
0
        public void ExploreProject(IProject project, UnitTestElementConsumer consumer)
        {
            var config = _environment.GetProject(project.ProjectFile.Location.FullPath).ConfigSettings;

            if (config.StoryBasePath == null)
                return;

            var stories = GetStoriesForProject(config);

            var projectElement = new StorEvilProjectElement(_provider, null, project, project.Name, config.AssemblyLocations);
            consumer(projectElement);

            AddStoriesToProject(project, consumer, projectElement, stories);
        }
Exemplo n.º 34
0
        private void ExploreType(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer, IMetadataTypeInfo metadataTypeInfo)
        {
            // It would be nice to use TestClassCommandFactory.Make(...), but that doesn't work
            // with RunWith, since Make ends up calling TypeUtility.GetRunWith, which tries to
            // call IAttributeInfo.GetInstance<RunWithAttribute>, and we can't support that.
            // So we'll break down Make and do it ourselves. If the runner finds any methods
            // that we don't find, it will create them at runtime
            var typeInfo = metadataTypeInfo.AsTypeInfo();

            if (TypeUtility.IsTestClass(typeInfo))
            {
                ExploreTestClass(project, assembly, consumer, typeInfo, metadataTypeInfo.FullyQualifiedName);
            }
        }
    public AssemblyExplorer(MSpecUnitTestProvider provider,
                            IMetadataAssembly assembly,
                            IProject project,
                            UnitTestElementConsumer consumer)
    {
      _provider = provider;
      _assembly = assembly;
      _project = project;
      _consumer = consumer;

      _contextFactory = new ContextFactory(_provider, _project, _assembly.Location);
      _contextSpecificationFactory = new ContextSpecificationFactory(_provider, _project);
      _behaviorFactory = new BehaviorFactory(_provider, _project);
      _behaviorSpecificationFactory = new BehaviorSpecificationFactory(_provider, _project);
    }
        public void ExploreAssembly(
            IProject project,
            IMetadataAssembly metadataAssembly,
            UnitTestElementConsumer consumer,
            ManualResetEvent exitEvent)
        {
            using (ReadLockCookie.Create())
            {
                if (project.GetModuleReferences().All(module => module.Name != "Fixie"))
                    return;

                foreach (var metadataTypeInfo in GetExportedTypes(metadataAssembly.GetTypes()))
                    ExploreType(project, metadataAssembly, consumer, metadataTypeInfo);
            }
        }
Exemplo n.º 37
0
        public void ExploreAssembly(IMetadataAssembly assembly, IProject project, UnitTestElementConsumer consumer)
        {
            var a = Assembly.LoadFrom(assembly.Location);
            var specTypes = FilterToSpecs(a.GetTypes());

            var elementFactory = new ElementFactory(project, consumer, _provider);

            foreach (var type in specTypes)
            {
                var instance = Activator.CreateInstance(type);

                var spec = (instance is ISpec) ?  (ISpec)instance : new SpecWrapper(instance);

                elementFactory.CreateContainerElements(spec);
            }
        }
Exemplo n.º 38
0
        public AssemblyExplorer(MSpecUnitTestProvider provider,
                                IMetadataAssembly assembly,
                                IProject project,
                                UnitTestElementConsumer consumer)
        {
            _provider = provider;
            _assembly = assembly;
            _project  = project;
            _consumer = consumer;

            var cache = new ContextCache();

            _contextFactory = new ContextFactory(_provider, _project, _assembly.Location, cache);
            _contextSpecificationFactory  = new ContextSpecificationFactory(_provider, _project, cache);
            _behaviorFactory              = new BehaviorFactory(_provider, _project, cache);
            _behaviorSpecificationFactory = new BehaviorSpecificationFactory(_provider, _project);
        }
Exemplo n.º 39
0
        private void ExploreTestClass(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer, ITypeInfo typeInfo, string typeName)
        {
            var classUnitTestElement = unitTestElementFactory.GetOrCreateTestClass(project, new ClrTypeName(typeName), assembly.Location.FullPath, typeInfo.SafelyGetTraits());

            consumer(classUnitTestElement);

            // Don't create elements for [Fact] methods when the class has [RunWith]. This
            // is because we don't know what the RunWith will do - it might not pay any
            // attention to [Fact], and if we create the elements now, they won't be
            // dynamic, and that can cause issues later
            if (!TypeUtility.HasRunWith(typeInfo))
            {
                foreach (var methodInfo in TypeUtility.GetTestMethods(typeInfo))
                {
                    ExploreTestMethod(project, classUnitTestElement, consumer, methodInfo);
                }
            }
        }
Exemplo n.º 40
0
        public AssemblyExplorer(MSpecUnitTestProvider provider,
                                IMetadataAssembly assembly,
                                IProject project,
                                UnitTestElementConsumer consumer)
        {
            _assembly = assembly;
            _consumer = consumer;

            using (ReadLockCookie.Create())
            {
                var projectEnvoy = new ProjectModelElementEnvoy(project);

                var cache = new ContextCache();
                _contextFactory = new ContextFactory(provider, projectEnvoy, _assembly.Location, cache);
                _contextSpecificationFactory  = new ContextSpecificationFactory(provider, projectEnvoy, cache);
                _behaviorFactory              = new BehaviorFactory(provider, projectEnvoy, cache);
                _behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, projectEnvoy);
            }
        }
Exemplo n.º 41
0
 public void ExploreSolution(ISolution solution, UnitTestElementConsumer consumer)
 {
     TestCache component;
     try
     {
         component = solution.GetComponent<TestCache>();
     }
     catch
     {
         return;
     }
     component.ReanalyzeDirtyFiles();
     foreach (var element in from e in component.UnitTestElements
         where e.State.IsValid() && (e.Provider is KarmaTestProvider)
         select e)
     {
         consumer(element);
     }
 }
Exemplo n.º 42
0
 private void AddScenarioElement(IProject project, UnitTestElementConsumer consumer,
     StorEvilStoryElement storyElement, IScenario scenario)
 {
     if (scenario is Scenario)
         consumer(new StorEvilScenarioElement(_provider, storyElement, project, scenario.Name, (Scenario)scenario));
     else
     {
         var outline = (ScenarioOutline) scenario;
         var outlineElement = new StorEvilScenarioOutlineElement(_provider, storyElement, project, scenario.Name,
                                                                                 outline);
         consumer(outlineElement);
         var i = 0;
         foreach (var child in new ScenarioPreprocessor().Preprocess(scenario))
         {
             consumer(new StorEvilScenarioElement(_provider, outlineElement, project, BuildExampleRowScenarioName(outline, i), child));
             i++;
         }
     }
 }
    public AssemblyExplorer(MSpecUnitTestProvider provider,
                            IMetadataAssembly assembly,
                            IProject project,
                            UnitTestElementConsumer consumer)
    {
      _assembly = assembly;
      _consumer = consumer;

      using (ReadLockCookie.Create())
      {
        var projectEnvoy = new ProjectModelElementEnvoy(project);

        var cache = new ContextCache();
        _contextFactory = new ContextFactory(provider, projectEnvoy, _assembly.Location, cache);
        _contextSpecificationFactory = new ContextSpecificationFactory(provider, projectEnvoy, cache);
        _behaviorFactory = new BehaviorFactory(provider, projectEnvoy, cache);
        _behaviorSpecificationFactory = new BehaviorSpecificationFactory(provider, projectEnvoy);
      }
    }
Exemplo n.º 44
0
        public void ExploreSolution(ISolution solution, UnitTestElementConsumer consumer)
        {
            TestCache component;

            try
            {
                component = solution.GetComponent <TestCache>();
            }
            catch
            {
                return;
            }
            component.ReanalyzeDirtyFiles();
            foreach (var element in from e in component.UnitTestElements
                     where e.State.IsValid() && (e.Provider is KarmaTestProvider)
                     select e)
            {
                consumer(element);
            }
        }
        public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer, ManualResetEvent exitEvent)
        {
            var envoy = ProjectModelElementEnvoy.Create(project);

            if (assembly.ReferencedAssembliesNames.Any(n => n.Name == SilverlightMsTestAssemblyName))
            {
                var allElements    = new List <IUnitTestElement>();
                var mappedElements = new Dictionary <IUnitTestElement, IUnitTestElement>();

                new mstestlegacy::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestMetadataExplorer(msTestElementFactory, msTestAttributesProvider, project, shellLocks, allElements.Add)
                .ExploreAssembly(assembly);

                foreach (var classElement in allElements.OfType <mstest10::JetBrains.ReSharper.UnitTestProvider.MSTest10.MsTestTestClassElement>())
                {
                    mappedElements.Add(classElement, elementFactory.GetOrCreateClassElement(classElement.TypeName, project, envoy));
                }

                foreach (var methodElement in allElements.OfType <mstest10::JetBrains.ReSharper.UnitTestProvider.MSTest10.MsTestTestMethodElement>())
                {
                    mappedElements.Add(methodElement, elementFactory.GetOrCreateMethodElement(methodElement.Id, project, (mstestlegacy::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestTestClassElementBase)mappedElements[methodElement.Parent], envoy, methodElement.TypeName));
                }

                foreach (var rowElement in allElements.OfType <mstest10::JetBrains.ReSharper.UnitTestProvider.MSTest10.MsTestTestRowElement>())
                {
                    mappedElements.Add(rowElement, elementFactory.GetOrCreateRowElement(rowElement.Id, project, (mstestlegacy::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestTestMethodElementBase)mappedElements[rowElement.Parent], envoy));
                }

                foreach (var element in allElements)
                {
                    IUnitTestElement mappedElement;
                    if (mappedElements.TryGetValue(element, out mappedElement))
                    {
                        consumer(mappedElements[element]);
                    }
                    else
                    {
                        consumer(element);
                    }
                }
            }
        }
Exemplo n.º 46
0
 private void AddScenarioElement(IProject project, UnitTestElementConsumer consumer,
                                 StorEvilStoryElement storyElement, IScenario scenario)
 {
     if (scenario is Scenario)
     {
         consumer(new StorEvilScenarioElement(_provider, storyElement, project, scenario.Name, (Scenario)scenario));
     }
     else
     {
         var outline        = (ScenarioOutline)scenario;
         var outlineElement = new StorEvilScenarioOutlineElement(_provider, storyElement, project, scenario.Name,
                                                                 outline);
         consumer(outlineElement);
         var i = 0;
         foreach (var child in scenario.Preprocess())
         {
             consumer(new StorEvilScenarioElement(_provider, outlineElement, project, BuildExampleRowScenarioName(outline, i), child));
             i++;
         }
     }
 }
        public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
        {
            if (assembly.ReferencedAssembliesNames.Any(n => n.Name == SilverlightMsTestAssemblyName))
            {
                var originalReferencedAssemblies = InjectMsTestIntoReferencedAssemblyNames(assembly);

                try
                {
                    if (msTest10Provider != null)
                    {
                        new MsTest10MetadataExplorer(msTest10Provider, project, consumer).ExploreAssembly(assembly);
                    }   
                    else if (msTestLegacyProvider != null)
                    {
                        new MsTestLegacyMetadataExplorer(msTestLegacyProvider, project, consumer).ExploreAssembly(assembly);
                    }
                }
                finally
                {
                    SetReferencedAssemblyNames(assembly, originalReferencedAssemblies);
                }
            }
        }
        public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
        {
            if (assembly.ReferencedAssembliesNames.Any(n => n.Name == SilverlightMsTestAssemblyName))
            {
                var originalReferencedAssemblies = InjectMsTestIntoReferencedAssemblyNames(assembly);

                try
                {
                    if (msTest10Provider != null)
                    {
                        new MsTest10MetadataExplorer(msTest10Provider, project, consumer).ExploreAssembly(assembly);
                    }
                    else if (msTestLegacyProvider != null)
                    {
                        new MsTestLegacyMetadataExplorer(msTestLegacyProvider, project, consumer).ExploreAssembly(assembly);
                    }
                }
                finally
                {
                    SetReferencedAssemblyNames(assembly, originalReferencedAssemblies);
                }
            }
        }
Exemplo n.º 49
0
        public void ExploreProject(IProject project, UnitTestElementConsumer consumer)
        {
            var config = _environment.GetProject(project.ProjectFile.Location.FullPath).ConfigSettings;

            if (config.StoryBasePath == null)
            {
                return;
            }

            var stories = GetStoriesForProject(config);

            if (new List <Story>(stories).Count == 0)
            {
                return;
            }

            var projectElement = new StorEvilProjectElement(_provider, null, project, project.Name, config.AssemblyLocations);

            consumer(projectElement);


            AddStoriesToProject(project, consumer, projectElement, stories);
        }
Exemplo n.º 50
0
            /// <summary>
            /// Explores given solution, but not containing projects.
            /// </summary>
            public void ExploreSolution(ISolution solution, UnitTestElementConsumer consumer)
            {
                if (solution == null)
                {
                    throw new ArgumentNullException("solution");
                }
                if (consumer == null)
                {
                    throw new ArgumentNullException("consumer");
                }

#if !RESHARPER_31 && !RESHARPER_40 && !RESHARPER_41
                using (ReadLockCookie.Create())
#endif
                {
                    if (!solution.IsValid)
                    {
                        return;
                    }

                    // Nothing to do currently.
                    // TODO: Should consider test files supported by other frameworks like RSpec.
                }
            }
        public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
        {
            if (assembly.ReferencedAssembliesNames.Any(n => n.Name == SilverlightMsTestAssemblyName))
            {
                var originalReferencedAssemblies = InjectMsTestIntoReferencedAssemblyNames(assembly);

                try
                {
                    if (msTest10Provider != null)
                    {
                        new mstest10::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestMetadataExplorer(msTest10ElementFactory, project, shellLocks, consumer).ExploreAssembly(assembly);
                    }
                    else if (msTestLegacyProvider != null)
                    {
                        new mstestlegacy::JetBrains.ReSharper.UnitTestProvider.MSTest.MsTestMetadataExplorer(msTestLegacyElementFactory, project, shellLocks, consumer).ExploreAssembly(assembly);
                    }

                }
                finally
                {
                    SetReferencedAssemblyNames(assembly, originalReferencedAssemblies);
                }
            }
        }
Exemplo n.º 52
0
 public ElementFactory(IProject project, UnitTestElementConsumer consumer, BickleTestProvider provider)
 {
     _project = project;
     _consumer = consumer;
     _provider = provider;
 }
Exemplo n.º 53
0
 public void ExploreExternal(UnitTestElementConsumer consumer)
 {
 }
Exemplo n.º 54
0
 public void ExploreSolution(ISolution solution, UnitTestElementConsumer consumer)
 {
 }
 public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
 {
   _assemblyExplorer.Explore(project, assembly, consumer);
 }
Exemplo n.º 56
0
 public void ExploreSolution(ISolution solution, UnitTestElementConsumer consumer)
 {
     // Called from a refresh of the Unit Test Explorer
     // Allows us to explore the solution, without going into the projects
 }
Exemplo n.º 57
0
 public void ExploreExternal(UnitTestElementConsumer consumer)
 {
     // Called from a refresh of the Unit Test Explorer
     // Allows us to explore anything that's not a part of the solution + projects world
 }
 public void ExploreAssembly(IProject project, IMetadataAssembly assembly, UnitTestElementConsumer consumer)
 {
     provider.ExploreAssembly(assembly, project, consumer);
 }
Exemplo n.º 59
0
 public void ExploreSolution(ISolution solution, UnitTestElementConsumer consumer)
 {
 }
Exemplo n.º 60
0
 public void ExploreExternal(UnitTestElementConsumer consumer)
 {
     Debug.WriteLine("ExploreExternal");
 }