public void TestDatabaseCircular2FK() { var dd = new TestDatabaseCircular2FK(); var a = dd.GetTable("A"); var b = dd.GetTable("B"); Assert.AreEqual(1, a.Properties.OfType <CircularFK>().Count()); Assert.AreEqual(1, b.Properties.OfType <CircularFK>().Count()); var aCFK = a.Properties.OfType <CircularFK>().First(); var bCFK = b.Properties.OfType <CircularFK>().First(); Assert.AreEqual("A", aCFK.SqlTable.SchemaAndTableName.TableName); Assert.AreEqual("B", bCFK.SqlTable.SchemaAndTableName.TableName); Assert.AreEqual(2, aCFK.ForeignKeyChain.Count); Assert.AreEqual(2, bCFK.ForeignKeyChain.Count); Assert.AreEqual("A", aCFK.ForeignKeyChain.First().SqlTable.SchemaAndTableName.TableName); Assert.AreEqual("B", aCFK.ForeignKeyChain.First().ReferredTable.SchemaAndTableName.TableName); Assert.AreEqual("B", aCFK.ForeignKeyChain.Last().SqlTable.SchemaAndTableName.TableName); Assert.AreEqual("A", aCFK.ForeignKeyChain.Last().ReferredTable.SchemaAndTableName.TableName); Assert.AreEqual("B", bCFK.ForeignKeyChain.First().SqlTable.SchemaAndTableName.TableName); Assert.AreEqual("A", bCFK.ForeignKeyChain.First().ReferredTable.SchemaAndTableName.TableName); Assert.AreEqual("A", bCFK.ForeignKeyChain.Last().SqlTable.SchemaAndTableName.TableName); Assert.AreEqual("B", bCFK.ForeignKeyChain.Last().ReferredTable.SchemaAndTableName.TableName); }
public void TestDatabaseCircular2FK() { var tables = new TestDatabaseCircular2FK().GetTables(); Assert.AreEqual(2, tables.Count); CheckFK(tables, "A", "BId"); CheckFK(tables, "B", "AId"); }