public void CreateFromNamespaceBlacklist_IncludesSubNamespaces() { var types = new[] { typeof(Color), typeof(Brush), typeof(DateTime), typeof(ImageFlags) }; var mockRepository = new MockRepository(); var decoratedTypeDiscoveryServiceMock = mockRepository.Stub <ITypeDiscoveryService>(); decoratedTypeDiscoveryServiceMock.Stub(service => service.GetTypes(Arg <Type> .Is.Anything, Arg <bool> .Is.Anything)).Return(types); mockRepository.ReplayAll(); var filteringTypeDiscoveryService = FilteringTypeDiscoveryService.CreateFromNamespaceBlacklist( decoratedTypeDiscoveryServiceMock, typeof(Color).Namespace); var filteredTypes = filteringTypeDiscoveryService.GetTypes(null, false); Assert.That( filteredTypes.Cast <Type>().ToArray(), Is.EqualTo( new[] { typeof(DateTime), })); }
public void CreateFromNamespaceBlacklist_AllowsTypesWithoutNamespace_Exclusion() { var types = new[] { typeof(TypeWithNullNamespace) }; var mockRepository = new MockRepository(); var decoratedTypeDiscoveryServiceMock = mockRepository.Stub <ITypeDiscoveryService>(); decoratedTypeDiscoveryServiceMock.Stub(service => service.GetTypes(Arg <Type> .Is.Anything, Arg <bool> .Is.Anything)).Return(types); mockRepository.ReplayAll(); var filteringTypeDiscoveryService = FilteringTypeDiscoveryService.CreateFromNamespaceBlacklist(decoratedTypeDiscoveryServiceMock, ""); var filteredTypes = filteringTypeDiscoveryService.GetTypes(null, false); Assert.That(filteredTypes, Is.Empty); }
public static ITypeDiscoveryService GetTypeDiscoveryService(params Assembly[] rootAssemblies) { var rootAssemblyFinder = new FixedRootAssemblyFinder(rootAssemblies.Select(asm => new RootAssembly(asm, true)).ToArray()); var assemblyLoader = new FilteringAssemblyLoader(ApplicationAssemblyLoaderFilter.Instance); var assemblyFinder = new CachingAssemblyFinderDecorator(new AssemblyFinder(rootAssemblyFinder, assemblyLoader)); ITypeDiscoveryService typeDiscoveryService = new AssemblyFinderTypeDiscoveryService(assemblyFinder); return(FilteringTypeDiscoveryService.CreateFromNamespaceBlacklist( typeDiscoveryService, "Remotion.Data.DomainObjects.UnitTests.Mapping.TestDomain.Errors", "Remotion.Data.DomainObjects.UnitTests.Mapping.TestDomain.Integration", "Remotion.Data.DomainObjects.UnitTests.Mapping.TestDomain.RelationReflector", "Remotion.Data.DomainObjects.UnitTests.Mapping.TestDomain.Validation", "Remotion.Data.DomainObjects.UnitTests.Mapping.MappingReflectionIntegrationTests", "Remotion.Data.DomainObjects.UnitTests.Security.TestDomain", "Remotion.Data.DomainObjects.UnitTests.Persistence.Rdbms.SchemaGenerationTestDomain" )); }