Exemple #1
0
        public void Initialization()
        {
            var builder = new CompositeScriptBuilder(SchemaGenerationFirstStorageProviderDefinition, new[] { _builder1Mock, _builder2Mock });

            Assert.That(builder.RdbmsProviderDefinition, Is.SameAs(SchemaGenerationFirstStorageProviderDefinition));
            Assert.That(builder.ScriptBuilders, Is.EqualTo(new[] { _builder1Mock, _builder2Mock }));
        }
Exemple #2
0
        public void GetCreateScript()
        {
            var entityDefinition1 = MockRepository.GenerateStub <IRdbmsStorageEntityDefinition> ();
            var entityDefinition2 = MockRepository.GenerateStub <IRdbmsStorageEntityDefinition> ();

            _builder1Mock.Expect(mock => mock.AddEntityDefinition(entityDefinition1));
            _builder1Mock.Expect(mock => mock.AddEntityDefinition(entityDefinition2));
            _builder1Mock.Expect(mock => mock.GetCreateScript()).Return(_fakeResultCollection1);
            _builder1Mock.Replay();

            _builder2Mock.Expect(mock => mock.AddEntityDefinition(entityDefinition1));
            _builder2Mock.Expect(mock => mock.AddEntityDefinition(entityDefinition2));
            _builder2Mock.Expect(mock => mock.GetCreateScript()).Return(_fakeResultCollection2);
            _builder2Mock.Replay();

            var builder = new CompositeScriptBuilder(SchemaGenerationFirstStorageProviderDefinition, new[] { _builder1Mock, _builder2Mock });

            builder.AddEntityDefinition(entityDefinition1);
            builder.AddEntityDefinition(entityDefinition2);

            var result = (ScriptElementCollection)builder.GetCreateScript();

            _builder1Mock.VerifyAllExpectations();
            _builder2Mock.VerifyAllExpectations();

            Assert.That(result.Elements.Count, Is.EqualTo(2));
            Assert.That(result.Elements[0], Is.SameAs(_fakeResultCollection1));
            Assert.That(result.Elements[1], Is.SameAs(_fakeResultCollection2));
        }
        public virtual IScriptBuilder CreateSchemaScriptBuilder(RdbmsProviderDefinition storageProviderDefinition)
        {
            ArgumentUtility.CheckNotNull("storageProviderDefinition", storageProviderDefinition);

            var compositeScriptBuilder = new CompositeScriptBuilder(
                storageProviderDefinition,
                CreateScriptBuildersForSchemaScriptBuilder(storageProviderDefinition));

            return(new SqlDatabaseSelectionScriptElementBuilder(compositeScriptBuilder, storageProviderDefinition.ConnectionString));
        }