public void TestRank1nNoPoly() { Type tMitarbeiter; Type tReise; List <Class> classes = new List <Class>(); Class cls1 = new Class(null); cls1.FullName = "Mitarbeiter"; tMitarbeiter = cls1.SystemType = CreateType(cls1.FullName).Object; var oid = new ClassOid(null); oid.OidColumns.Add(new OidColumn(oid) { AutoIncremented = true }); cls1.Oid = oid; Mock <Relation> rel1Mock = new Mock <Relation>(cls1); rel1Mock.Setup(t => t.Bidirectional).Returns(true); Relation relation = rel1Mock.Object; List <Relation> relations = (List <Relation>)cls1.Relations; relations.Add(relation); relation.FieldName = "reisen"; relation.ReferencedTypeName = "Reise"; relation.RelationName = string.Empty; relation.Multiplicity = RelationMultiplicity.List; relation.Composition = true; relation.HasSubclasses = false; classes.Add(cls1); Class cls2 = new Class(null); cls2.FullName = "Reise"; tReise = cls2.SystemType = CreateType(cls2.FullName).Object; oid = new ClassOid(cls2); cls2.Oid = oid; Mock <Relation> rel2Mock = new Mock <Relation>(cls2); rel2Mock.Setup(t => t.Bidirectional).Returns(true); relation = rel2Mock.Object; relations = (List <Relation>)cls2.Relations; relations.Add(relation); relation.FieldName = "mitarbeiter"; relation.ReferencedTypeName = "Mitarbeiter"; relation.RelationName = string.Empty; relation.Multiplicity = RelationMultiplicity.Element; relation.Composition = false; relation.HasSubclasses = false; classes.Add(cls2); rel1Mock.Setup(r => r.ReferencedSubClasses).Returns(new List <Class> { cls2 }); rel1Mock.Setup(r => r.ForeignRelation).Returns(rel2Mock.Object); rel2Mock.Setup(r => r.ReferencedSubClasses).Returns(new List <Class> { cls1 }); rel2Mock.Setup(r => r.ForeignRelation).Returns(rel1Mock.Object); ClassRank classRank = new ClassRank(); var updateRank = classRank.BuildUpdateRank(classes); Assert.That(updateRank[tReise] == 1); Assert.That(updateRank[tMitarbeiter] == 0); classes.Reverse(); classRank = new ClassRank(); updateRank = classRank.BuildUpdateRank(classes); Assert.That(updateRank[tReise] == 1); Assert.That(updateRank[tMitarbeiter] == 0); }