public void TestRemoveBidirectionalRelation() { TableNode tn; ColumnNode cn; // Returns the Orders table node PrepareEmployeeOrder(out tn, out cn); Assertion.Assert(!cn.Column.IsMapped); Assertion.Assert(!cn.Column.IsMapped); NDOTreeNode treeNode = (NDOTreeNode)FindNode(tn.Nodes, "EmployeeID"); Assertion.AssertNotNull(treeNode); Assertion.Assert("Wrong type #1", treeNode is RelationNode); RelationNode rn = (RelationNode)treeNode; TableNode relTn = rn.RelatedTableNode; // tn is Orders, relTn is Employees treeNode = (NDOTreeNode)FindNode(relTn.Nodes, "EmployeeID", typeof(RelationNode)); Assertion.AssertNotNull(treeNode); RelationNode rn2 = (RelationNode)treeNode; Assertion.Assert(rn2.Relation is ForeignFkRelation); rn.DeleteFkRelation(null, EventArgs.Empty); treeNode = (NDOTreeNode)FindNode(tn.Nodes, "EmployeeID", typeof(RelationNode)); Assertion.AssertNull(treeNode); treeNode = (NDOTreeNode)FindNode(relTn.Nodes, "EmployeeID", typeof(RelationNode)); Assertion.AssertNull(treeNode); }