public void GeneratorForeignKeyComposite1(SqlEngineVersion version) { var db = new ForeignKeyComposite(); var generator = new BimGenerator(DataDefinitionDocumenterTestsHelper.CreateTestGeneratorContext(version), version, "ForeignKeyComposite"); generator.Generate(db); }
public void DocumentTestForeignKeyComposite(SqlEngineVersion version) { var db = new ForeignKeyComposite(); db.SetVersions(version.GetTypeMapper()); var documenter = new Documenter(DataDefinitionDocumenterTestsHelper.CreateTestDocumenterContext(version), version, "ForeignKeyComposite"); documenter.Document(db); }
public void GeneratorForeignKeyComposite1(SqlEngineVersion version) { var db = new ForeignKeyComposite(); var documenterContext = DataDefinitionDocumenterTestsHelper.CreateTestGeneratorContext(version); var writer = CSharpTypedWriterFactory.GetCSharpTypedWriter(version, documenterContext, "ForeignKeyComposite"); var generator = new CSharpTypedGenerator(writer, version, "ForeignKeyComposite", "FizzCode.DbTools.DataDefinitionDocumenter.Tests"); generator.GenerateMultiFile(db); }
public void CreateTables(SqlEngineVersion version) { var dd = new ForeignKeyComposite(); Init(version, dd); var creator = new DatabaseCreator(dd, _sqlExecuterTestAdapter.GetExecuter(version.UniqueName)); creator.ReCreateDatabase(true); }
public void ReadTables(SqlEngineVersion version) { Init(version, null); TestHelper.CheckFeature(version, "ReadDdl"); var dd = new ForeignKeyComposite(); var ddlReader = DataDefinitionReaderFactory.CreateDataDefinitionReader(_sqlExecuterTestAdapter.ConnectionStrings[version.UniqueName], _sqlExecuterTestAdapter.GetContext(version), dd.GetSchemaNames().ToList()); var db = ddlReader.GetDatabaseDefinition(); var company = db.GetTable("Company"); var pkCompany = company.Properties.OfType <PrimaryKey>().FirstOrDefault(); Assert.IsNotNull(pkCompany); Assert.AreEqual(1, pkCompany.SqlColumns.Count); Assert.AreEqual("Id", pkCompany.SqlColumns[0].SqlColumn.Name); var topOrdersPerCompany = db.GetTable("TopOrdersPerCompany"); var fks = topOrdersPerCompany.Properties.OfType <ForeignKey>().ToList(); Assert.AreEqual(2, fks.Count); var fk1 = fks[0]; var fk2 = fks[1]; Assert.AreEqual(2, fk1.ForeignKeyColumns.Count); Assert.AreEqual(2, fk2.ForeignKeyColumns.Count); var order = db.GetTable("Order"); Assert.AreEqual(topOrdersPerCompany.Columns["Top1A"], fk1.ForeignKeyColumns[0].ForeignKeyColumn); Assert.AreEqual(topOrdersPerCompany.Columns["Top1B"], fk1.ForeignKeyColumns[1].ForeignKeyColumn); Assert.AreEqual(order.Columns["OrderHeaderId"], fk1.ForeignKeyColumns[0].ReferredColumn); Assert.AreEqual(order.Columns["LineNumber"], fk1.ForeignKeyColumns[1].ReferredColumn); Assert.AreEqual(topOrdersPerCompany.Columns["Top2A"], fk2.ForeignKeyColumns[0].ForeignKeyColumn); Assert.AreEqual(topOrdersPerCompany.Columns["Top2B"], fk2.ForeignKeyColumns[1].ForeignKeyColumn); Assert.AreEqual(order.Columns["OrderHeaderId"], fk2.ForeignKeyColumns[0].ReferredColumn); Assert.AreEqual(order.Columns["LineNumber"], fk2.ForeignKeyColumns[1].ReferredColumn); }