Exemplo n.º 1
0
        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);
        }