コード例 #1
0
        public override void SetUp()
        {
            base.SetUp();

            var rdbmsPersistenceModelProvider  = new RdbmsPersistenceModelProvider();
            var storageTypeInformationProvider = new SqlStorageTypeInformationProvider();
            var dataContainerValidator         = new CompoundDataContainerValidator(Enumerable.Empty <IDataContainerValidator>());

            var storageNameProvider = new ReflectionBasedStorageNameProvider();
            var infrastructureStoragePropertyDefinitionProvider =
                new InfrastructureStoragePropertyDefinitionProvider(storageTypeInformationProvider, storageNameProvider);
            var storageProviderDefinitionFinder      = new StorageGroupBasedStorageProviderDefinitionFinder(DomainObjectsConfiguration.Current.Storage);
            var dataStoragePropertyDefinitionFactory = new DataStoragePropertyDefinitionFactory(
                new ValueStoragePropertyDefinitionFactory(storageTypeInformationProvider, storageNameProvider),
                new RelationStoragePropertyDefinitionFactory(
                    TestDomainStorageProviderDefinition, false, storageNameProvider, storageTypeInformationProvider, storageProviderDefinitionFinder));

            _factory = new RdbmsProviderCommandFactory(
                TestDomainStorageProviderDefinition,
                new SqlDbCommandBuilderFactory(new SqlDialect()),
                rdbmsPersistenceModelProvider,
                new ObjectReaderFactory(
                    rdbmsPersistenceModelProvider, infrastructureStoragePropertyDefinitionProvider, storageTypeInformationProvider, dataContainerValidator),
                new TableDefinitionFinder(rdbmsPersistenceModelProvider),
                dataStoragePropertyDefinitionFactory);

            _objectID1 = DomainObjectIDs.Order1;
            _objectID2 = DomainObjectIDs.Order3;
            _objectID3 = DomainObjectIDs.Order4;
        }
コード例 #2
0
        public void Initialize()
        {
            var validators = new[]
            {
                MockRepository.GenerateStub <IDataContainerValidator>(),
                MockRepository.GenerateStub <IDataContainerValidator>()
            };
            var compoundValidator = new CompoundDataContainerValidator(validators);

            Assert.That(compoundValidator.Validators, Is.EqualTo(validators));
        }
コード例 #3
0
        public void Validate()
        {
            var validators = new[]
            {
                MockRepository.GenerateStub <IDataContainerValidator>(),
                MockRepository.GenerateStub <IDataContainerValidator>()
            };

            var dataContainer = DataContainer.CreateNew(DomainObjectIDs.ClassWithAllDataTypes1);

            var compoundValidator = new CompoundDataContainerValidator(validators);

            compoundValidator.Validate(dataContainer);

            validators[0].AssertWasCalled(_ => _.Validate(dataContainer));
            validators[1].AssertWasCalled(_ => _.Validate(dataContainer));
        }
コード例 #4
0
        public static RdbmsProvider CreateForIntegrationTest(
            RdbmsProviderDefinition storageProviderDefinition,
            Func <RdbmsProviderDefinition, IPersistenceExtension, IStorageProviderCommandFactory <IRdbmsProviderCommandExecutionContext>, RdbmsProvider> ctorCall = null)
        {
            var storageTypeInformationProvider = new SqlStorageTypeInformationProvider();
            var dbCommandBuilderFactory        = new SqlDbCommandBuilderFactory(new SqlDialect());
            var storageNameProvider            = new ReflectionBasedStorageNameProvider();
            var rdbmsPersistenceModelProvider  = new RdbmsPersistenceModelProvider();
            var infrastructureStoragePropertyDefinitionProvider = new InfrastructureStoragePropertyDefinitionProvider(
                storageTypeInformationProvider, storageNameProvider);
            var dataStoragePropertyDefinitionFactory = new DataStoragePropertyDefinitionFactory(
                new ValueStoragePropertyDefinitionFactory(storageTypeInformationProvider, storageNameProvider),
                new RelationStoragePropertyDefinitionFactory(
                    storageProviderDefinition,
                    false,
                    storageNameProvider,
                    storageTypeInformationProvider,
                    new StorageEntityBasedStorageProviderDefinitionFinder()));
            var dataContainerValidator = new CompoundDataContainerValidator(Enumerable.Empty <IDataContainerValidator>());
            var objectReaderFactory    = new ObjectReaderFactory(
                rdbmsPersistenceModelProvider,
                infrastructureStoragePropertyDefinitionProvider,
                storageTypeInformationProvider,
                dataContainerValidator);
            var commandFactory = new RdbmsProviderCommandFactory(
                storageProviderDefinition,
                dbCommandBuilderFactory,
                rdbmsPersistenceModelProvider,
                objectReaderFactory,
                new TableDefinitionFinder(rdbmsPersistenceModelProvider),
                dataStoragePropertyDefinitionFactory);

            if (ctorCall == null)
            {
                ctorCall = (def, ext, factory) => new RdbmsProvider(def, ext, factory, () => new SqlConnection());
            }

            return(ctorCall(storageProviderDefinition, NullPersistenceExtension.Instance, commandFactory));
        }