Esempio n. 1
0
        public void GeneratorForeignKeyComposite1(SqlEngineVersion version)
        {
            var db = new ForeignKeyComposite();

            var generator = new BimGenerator(DataDefinitionDocumenterTestsHelper.CreateTestGeneratorContext(version), version, "ForeignKeyComposite");

            generator.Generate(db);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }