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 })); }
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)); }