protected TestMappingConfiguration()
        {
            ProviderCollection <StorageProviderDefinition> storageProviderDefinitionCollection = StorageProviderDefinitionObjectMother.CreateTestDomainStorageProviders();

            _storageConfiguration = new StorageConfiguration(
                storageProviderDefinitionCollection, storageProviderDefinitionCollection[MappingReflectionTestBase.DefaultStorageProviderID]);
            _storageConfiguration.StorageGroups.Add(new StorageGroupElement(new TestDomainAttribute(), MappingReflectionTestBase.c_testDomainProviderID));
            _storageConfiguration.StorageGroups.Add(
                new StorageGroupElement(new StorageProviderStubAttribute(), MappingReflectionTestBase.c_unitTestStorageProviderStubID));
            _storageConfiguration.StorageGroups.Add(
                new StorageGroupElement(new TableInheritanceTestDomainAttribute(), TableInheritanceMappingTest.TableInheritanceTestDomainProviderID));

            _mappingLoaderConfiguration = new MappingLoaderConfiguration();
            _queryConfiguration         = new QueryConfiguration("QueriesForStandardMapping.xml");
            DomainObjectsConfiguration.SetCurrent(
                new FakeDomainObjectsConfiguration(_mappingLoaderConfiguration, _storageConfiguration, _queryConfiguration));

            var typeDiscoveryService = GetTypeDiscoveryService();

            _mappingConfiguration = new MappingConfiguration(
                MappingReflectorObjectMother.CreateMappingReflector(typeDiscoveryService),
                new PersistenceModelLoader(new StorageGroupBasedStorageProviderDefinitionFinder(DomainObjectsConfiguration.Current.Storage)));
            MappingConfiguration.SetCurrent(_mappingConfiguration);

            _domainObjectIDs = new DomainObjectIDs();
        }
        public void GetClassDefinitions()
        {
            MappingReflector mappingReflector = MappingReflectorObjectMother.CreateMappingReflector(TestMappingConfiguration.GetTypeDiscoveryService());

            var actualClassDefinitions = mappingReflector.GetClassDefinitions().ToDictionary(cd => cd.ClassType);

            mappingReflector.GetRelationDefinitions(actualClassDefinitions);
            Assert.That(actualClassDefinitions, Is.Not.Null);

            var inheritanceRootClasses = actualClassDefinitions.Values.Select(cd => cd.GetInheritanceRootClass()).Distinct();

            // Pretend that all classes have the storage provider definition used by FakeMappingConfiguration
            var storageProviderDefinition           = FakeMappingConfiguration.Current.StorageProviderDefinition;
            var storageProviderDefinitionFinderStub = MockRepository.GenerateStub <IStorageProviderDefinitionFinder> ();

            storageProviderDefinitionFinderStub
            .Stub(stub => stub.GetStorageProviderDefinition(Arg <ClassDefinition> .Is.Anything, Arg <string> .Is.Anything))
            .Return(storageProviderDefinition);

            foreach (ClassDefinition classDefinition in inheritanceRootClasses)
            {
                var persistenceModelLoader = storageProviderDefinition.Factory.CreatePersistenceModelLoader(storageProviderDefinition, storageProviderDefinitionFinderStub);
                persistenceModelLoader.ApplyPersistenceModelToHierarchy(classDefinition);
            }

            var classDefinitionChecker = new ClassDefinitionChecker();

            classDefinitionChecker.Check(FakeMappingConfiguration.Current.TypeDefinitions.Values, actualClassDefinitions, false, true);
            classDefinitionChecker.CheckPersistenceModel(FakeMappingConfiguration.Current.TypeDefinitions.Values, actualClassDefinitions);
            Assert.That(actualClassDefinitions.ContainsKey(typeof(TestDomainBase)), Is.False);
        }
        public void GetClassDefinitions()
        {
            var assembly         = GetType().Assembly;
            var mappingReflector = MappingReflectorObjectMother.CreateMappingReflector(BaseConfiguration.GetTypeDiscoveryService(assembly, assembly));
            var classDefinitions = mappingReflector.GetClassDefinitions();

            Assert.That(classDefinitions, Is.Not.Empty);
        }
        private MappingReflector CreateMappingReflector(Type[] reflectedTypes)
        {
            var typeDiscoveryServiceStub = MockRepository.GenerateStub <ITypeDiscoveryService>();

            typeDiscoveryServiceStub
            .Stub(stub => stub.GetTypes(Arg <Type> .Is.Anything, Arg <bool> .Is.Anything))
            .Return(reflectedTypes);

            return(MappingReflectorObjectMother.CreateMappingReflector(typeDiscoveryServiceStub));
        }
        protected void ValidateMapping(string testDomainNamespaceSuffix)
        {
            var testDomainNamespace  = "Remotion.Data.DomainObjects.UnitTests.Mapping.TestDomain.Validation.Integration." + testDomainNamespaceSuffix;
            var typeDiscoveryService = GetTypeDiscoveryService(testDomainNamespace, GetType().Assembly);

            Assert.That(typeDiscoveryService.GetTypes(typeof(DomainObject), true), Is.Not.Empty, "Namespace '{0}' has no DomainObjects.", testDomainNamespaceSuffix);
            new MappingConfiguration(
                MappingReflectorObjectMother.CreateMappingReflector(typeDiscoveryService),
                new PersistenceModelLoader(new StorageGroupBasedStorageProviderDefinitionFinder(StandardConfiguration.Instance.GetPersistenceConfiguration())));
        }
示例#6
0
        public SchemaGenerationConfiguration()
        {
            var sqlStorageObjectFactory             = new SqlStorageObjectFactory();
            var storageProviderDefinitionCollection = new ProviderCollection <StorageProviderDefinition>
            {
                new RdbmsProviderDefinition(
                    DatabaseTest.SchemaGenerationFirstStorageProviderID,
                    sqlStorageObjectFactory,
                    DatabaseTest.SchemaGenerationConnectionString1),
                new RdbmsProviderDefinition(
                    DatabaseTest.SchemaGenerationSecondStorageProviderID,
                    sqlStorageObjectFactory,
                    DatabaseTest.SchemaGenerationConnectionString2),
                new RdbmsProviderDefinition(
                    DatabaseTest.SchemaGenerationThirdStorageProviderID,
                    sqlStorageObjectFactory,
                    DatabaseTest.SchemaGenerationConnectionString3),
                new RdbmsProviderDefinition(
                    DatabaseTest.SchemaGenerationInternalStorageProviderID,
                    sqlStorageObjectFactory,
                    DatabaseTest.SchemaGenerationConnectionString1)
            };

            _storageConfiguration = new StorageConfiguration(
                storageProviderDefinitionCollection,
                storageProviderDefinitionCollection[DatabaseTest.SchemaGenerationFirstStorageProviderID]);
            _storageConfiguration.StorageGroups.Add(
                new StorageGroupElement(
                    new FirstStorageGroupAttribute(),
                    DatabaseTest.SchemaGenerationFirstStorageProviderID));
            _storageConfiguration.StorageGroups.Add(
                new StorageGroupElement(
                    new SecondStorageGroupAttribute(),
                    DatabaseTest.SchemaGenerationSecondStorageProviderID));
            _storageConfiguration.StorageGroups.Add(
                new StorageGroupElement(
                    new ThirdStorageGroupAttribute(),
                    DatabaseTest.SchemaGenerationThirdStorageProviderID));
            _storageConfiguration.StorageGroups.Add(
                new StorageGroupElement(
                    new InternalStorageGroupAttribute(),
                    DatabaseTest.SchemaGenerationInternalStorageProviderID));

            _mappingLoaderConfiguration = new MappingLoaderConfiguration();
            _queryConfiguration         = new QueryConfiguration();

            var typeDiscoveryService = GetTypeDiscoveryService(GetType().Assembly);

            _mappingConfiguration = new MappingConfiguration(
                MappingReflectorObjectMother.CreateMappingReflector(typeDiscoveryService),
                new PersistenceModelLoader(new StorageGroupBasedStorageProviderDefinitionFinder(_storageConfiguration)));
            _domainObjectsConfiguration = new FakeDomainObjectsConfiguration(_mappingLoaderConfiguration, _storageConfiguration, _queryConfiguration);
        }
        public void Get_WithDuplicateAssembly()
        {
            var assembly = GetType().Assembly;
            var expectedMappingReflector    = MappingReflectorObjectMother.CreateMappingReflector(BaseConfiguration.GetTypeDiscoveryService(assembly));
            var expectedClassDefinitions    = expectedMappingReflector.GetClassDefinitions().ToDictionary(cd => cd.ClassType);
            var expectedRelationDefinitions = expectedMappingReflector.GetRelationDefinitions(expectedClassDefinitions);

            var mappingReflector       = MappingReflectorObjectMother.CreateMappingReflector(BaseConfiguration.GetTypeDiscoveryService(assembly, assembly));
            var actualClassDefinitions = mappingReflector.GetClassDefinitions().ToDictionary(cd => cd.ClassType);

            var classDefinitionChecker = new ClassDefinitionChecker();

            classDefinitionChecker.Check(expectedClassDefinitions.Values, actualClassDefinitions, false, false);

            var actualRelationDefinitions = mappingReflector.GetRelationDefinitions(actualClassDefinitions).ToDictionary(rd => rd.ID);
            var relationDefinitionChecker = new RelationDefinitionChecker();

            relationDefinitionChecker.Check(expectedRelationDefinitions, actualRelationDefinitions, false);
        }
 public new void SetUp()
 {
     base.SetUp();
     _mappingReflector = MappingReflectorObjectMother.CreateMappingReflector(TestMappingConfiguration.GetTypeDiscoveryService());
 }