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); } } }
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 IEnumerable <ITypeInfo> GetTypes(bool includePrivateTypes) { // Still don't know why I can't use assembly.GetExportedTypes() return(from typeInfo in assembly.GetTypes() where includePrivateTypes || typeInfo.IsPublic || typeInfo.IsNestedPublic select(ITypeInfo) new MetadataTypeInfoAdapter2(typeInfo)); }
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() { if (!_assembly.ReferencedAssembliesNames.Any(x => String.Equals( #if RESHARPER_6 x.Name, #else x.AssemblyName.Name, #endif typeof(It).Assembly.GetName().Name, StringComparison.InvariantCultureIgnoreCase))) { return; } _assembly.GetTypes().Where(type => type.IsContext()).ForEach(type => { var contextElement = _contextFactory.CreateContext(type); _consumer(contextElement); type .GetSpecifications() .ForEach(x => _consumer(_contextSpecificationFactory.CreateContextSpecification(contextElement, x))); type.GetBehaviors().ForEach(x => { var behaviorElement = _behaviorFactory.CreateBehavior(contextElement, x); _consumer(behaviorElement); _behaviorSpecificationFactory .CreateBehaviorSpecificationsFromBehavior(behaviorElement, x) .ForEach(y => _consumer(y)); }); }); }
public void Explore(IMetadataAssembly assembly, CancellationToken token) { try { myTempMethods = new List <IMetadataMethod>(200); myTempMethodsNames = new JetHashSet <string>(200); foreach (var type in assembly.GetTypes()) { ExploreType(type, assembly, token); } } finally { if (myTempMethods != null) { myTempMethods.Clear(); myTempMethods = null; } if (myTempMethodsNames != null) { myTempMethodsNames.Clear(); myTempMethods = null; } } }
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); } }
// 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); } }
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); } }
public ITestAssembly GetTestAssembly(IMetadataAssembly assembly) { var identity = new Identity(_project.GetOutputFilePath().FullPath); var testTypes = assembly.GetTypes() .TakeWhile(_notInterrupted) .Select(x => VisitType(x, identity)) .WhereNotNull(); return(new TestAssembly(testTypes.ToList(), assembly)); }
public void ExploreAssembly(IProject project, IMetadataAssembly assembly, IUnitTestElementsObserver consumer, CancellationToken cancellationToken) { // TODO: Use CancellationToken to exit early 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); } }
public ITestAssembly GetTestAssembly(IMetadataAssembly assembly) { var identity = new Identity(_project.GetOutputFilePath().FullPath); var testTypes = assembly.GetTypes() .TakeWhile(_notInterrupted) .Select(x => VisitType(x, identity)) .WhereNotNull(); return new TestAssembly(testTypes.ToList(), assembly); }
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); } } }
// 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); } } }
public void ExploreAssembly(IProject project, IMetadataAssembly assembly, IUnitTestElementsObserver observer, CancellationToken cancellationToken) { using (ReadLockCookie.Create()) { foreach (var metadataTypeInfo in GetExportedTypes(assembly.GetTypes())) { if (cancellationToken.IsCancellationRequested) break; ExploreType(project, assembly, observer, metadataTypeInfo); } } }
public void ExploreAssembly(IMetadataAssembly assembly) { using (shellLocks.UsingReadLock()) { if (project.IsValid()) { foreach (var metadataTypeInfo in GetExportedTypes(assembly.GetTypes())) { ProcessTypeInfo(metadataTypeInfo); } } } }
public void ExploreAssembly(IProject project, IMetadataAssembly assembly, CancellationToken token) { using (ReadLockCookie.Create()) { var types = assembly.GetTypes(); foreach (var type in types) { if (token.IsCancellationRequested) { break; } } } }
public void ExploreAssembly(IProject project, IMetadataAssembly assembly, IUnitTestElementsObserver observer, CancellationToken cancellationToken) { using (ReadLockCookie.Create()) { foreach (var metadataTypeInfo in GetExportedTypes(assembly.GetTypes())) { if (cancellationToken.IsCancellationRequested) { break; } ExploreType(project, assembly, observer, metadataTypeInfo); } } }
public void ExploreAssembly(IProject project, IMetadataAssembly assembly, IUnitTestElementsObserver consumer, CancellationToken cancellationToken) { using (ReadLockCookie.Create()) //Get a read lock so that it is safe to read the assembly { foreach (var metadataTypeInfo in GetTypesIncludingNested(assembly.GetTypes())) { if (cancellationToken.IsCancellationRequested) { break; } this._assemblyExplorer.Explore(project, assembly, consumer, metadataTypeInfo); } } }
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); } }
public ITestAssembly Aggregate(IMetadataAssembly metadataAssembly, IProject project, [CanBeNull] Func <bool> notInterrupted) { notInterrupted = notInterrupted ?? (() => true); var assemblyIdentity = new Identity(project.GetOutputFilePath().FullPath); var testMetadataProviders = _testMetadataProviderFactories.Select(x => x.CreateTestMetadataProvider(assemblyIdentity, project, notInterrupted)).ToList(); var metadataTypeInfos = metadataAssembly.GetTypes(); var testMetadata = GetTestMetadata(testMetadataProviders, metadataTypeInfos).TakeWhile(notInterrupted).WhereNotNull().ToList(); if (testMetadata.Count == 0) { return(null); } return(new TestAssembly(testMetadata, metadataAssembly)); }
public void Explore(IMetadataAssembly assembly) { using (ReadLockCookie.Create()) { var types = assembly.GetTypes() .Flatten(x => x.GetNestedTypes()) .Where(x => x.FullyQualifiedName != "<Module>"); Types.AddRange(types.Select(x => x.AsTypeInfo())); foreach (var type in Types) { Fields.AddRange(type.GetFields()); } } }
public void ExploreAssembly(IProject project, IMetadataAssembly assembly, CancellationToken token) { using (ReadLockCookie.Create()) { var types = assembly.GetTypes() .Flatten(x => x.GetNestedTypes()); foreach (var type in types) { if (token.IsCancellationRequested) { break; } ExploreType(project, assembly, type.AsTypeInfo()); } } }
public IMetadataTypeInfo[] GetTypes() { return(_metadataAssembly.GetTypes()); }