public IEnumerator DragRemoveSelectionFromStackNode() { // Creates a stack and add node1, node2, node3 StackNode stack = CreateStackNode(k_DefaultX, k_DefaultY); stack.AddElement(m_Node1); stack.AddElement(m_Node2); stack.AddElement(m_Node3); // Allow two frames to compute the layout of the stack and nodes yield return(null); yield return(null); // Select node1 and node2 m_Node1.Select(graphView, false); m_Node2.Select(graphView, true); Vector2 start = m_Node1.worldBound.center; Vector2 outsideStackNode = stack.LocalToWorld(k_OutsidePosition); // Drag node1 and node2 away from the stack helpers.DragTo(start, outsideStackNode); Assert.AreEqual(1, stack.childCount); Assert.IsTrue(stack.Contains(m_Node3)); }
public void StackNodeDoesNoContainRemovedElements() { // Create a stack StackNode stack = CreateStackNode(k_DefaultX, k_DefaultY); stack.AddElement(m_Node1); stack.AddElement(m_Node2); // Verify that a node is properly removed from its containing stack stack.RemoveElement(m_Node1); Assert.AreEqual(1, stack.childCount); Assert.IsFalse(stack.Contains(m_Node1)); Assert.IsNull(m_Node1.parent); stack.RemoveElement(m_Node2); Assert.AreEqual(0, stack.childCount); Assert.IsFalse(stack.Contains(m_Node2)); Assert.IsNull(m_Node2.parent); }