public void AddBeforeTest() { //1 2 3 原来的顺序 // 1 [3] 2 node2.AddBefore(node3); Assert.IsNull(node1.Previous); Assert.AreEqual(node3, node1.Next); Assert.AreEqual(node1, node3.Previous); Assert.AreEqual(node2, node3.Next); Assert.AreEqual(node3, node2.Previous); // [2] 1 3 node1.AddBefore(node2); Assert.IsNull(node2.Previous); Assert.AreEqual(node1, node2.Next); Assert.AreEqual(node2, node1.Previous); Assert.AreEqual(node3, node1.Next); Assert.AreEqual(node1, node3.Previous); // [3] 1 2 node1.AddBefore(node3); Assert.IsNull(node3.Previous); Assert.AreEqual(node1, node3.Next); Assert.AreEqual(node3, node1.Previous); Assert.AreEqual(node2, node1.Next); Assert.AreEqual(node1, node2.Previous); }
public void AddBeforeTest() { //2.InerstBefore():在某个节点前插入 //[1] 2 node2.AddBefore(node1); Assert.AreEqual(node1, node2.Previous); Assert.AreEqual(node2, node1.Next); Assert.IsNull(node1.Previous); Assert.IsNull(node2.Next); //[3] 1 2 node1.AddBefore(node3); Assert.AreEqual(node1, node3.Next); Assert.AreEqual(node3, node1.Previous); Assert.IsNull(node3.Previous); //3 [4] 1 2 node1.AddBefore(node4); Assert.AreEqual(node4, node1.Previous); Assert.AreEqual(node3, node4.Previous); Assert.AreEqual(node4, node3.Next); Assert.AreEqual(node1, node4.Next); }
public void AddBeforeTest() { // [7] 1 2 3 4 5 6 DLinkNode <int> node7 = new DLinkNode <int>(); node1.AddBefore(node7); Assert.AreEqual(node7, node1.Previous); Assert.AreEqual(node2, node1.Next); Assert.AreEqual(node1, node7.Next); Assert.IsNull(node7.Previous); // 7 1 2 [8] 3 4 5 6 DLinkNode <int> node8 = new DLinkNode <int>(); node3.AddBefore(node8); Assert.AreEqual(node8, node3.Previous); Assert.AreEqual(node4, node3.Next); Assert.AreEqual(node1, node2.Previous); Assert.AreEqual(node8, node2.Next); Assert.AreEqual(node2, node8.Previous); Assert.AreEqual(node3, node8.Next); }
public void AddTest() { //AddAfter //首 DLinkNode <int> node8 = new DLinkNode <int>(); node1.AddAfter(node8); //1 [8] 2 3 4 Assert.IsNull(node1.Prev); Assert.AreEqual(node8, node1.Next); Assert.AreEqual(node1, node8.Prev); Assert.AreEqual(node2, node8.Next); Assert.AreEqual(node8, node2.Prev); Assert.AreEqual(node3, node2.Next); //中 DLinkNode <int> node9 = new DLinkNode <int>(); node3.AddAfter(node9); //1 8 2 3 [9] 4 Assert.AreEqual(node2, node3.Prev); Assert.AreEqual(node9, node3.Next); Assert.AreEqual(node3, node9.Prev); Assert.AreEqual(node4, node9.Next); Assert.AreEqual(node9, node4.Prev); Assert.IsNull(node4.Next); //尾 DLinkNode <int> node10 = new DLinkNode <int>(); node4.AddAfter(node10); //1 8 2 3 9 4 [10] Assert.AreEqual(node9, node4.Prev); Assert.AreEqual(node10, node4.Next); Assert.AreEqual(node4, node10.Prev); Assert.IsNull(node10.Next); //AddBefore //首 DLinkNode <int> node21 = new DLinkNode <int>(); node1.AddBefore(node21); //[21] 1 8 2 3 9 4 10 Assert.IsNull(node21.Prev); Assert.AreEqual(node1, node21.Next); Assert.AreEqual(node21, node1.Prev); Assert.AreEqual(node8, node1.Next); //中 DLinkNode <int> node22 = new DLinkNode <int>(); node3.AddBefore(node22); //21 1 8 2 [22] 3 9 4 10 Assert.AreEqual(node8, node2.Prev); Assert.AreEqual(node22, node2.Next); Assert.AreEqual(node2, node22.Prev); Assert.AreEqual(node3, node22.Next); Assert.AreEqual(node22, node3.Prev); Assert.AreEqual(node9, node3.Next); //尾 DLinkNode <int> node23 = new DLinkNode <int>(); node10.AddBefore(node23); //21 1 8 2 22 3 9 4 [23] 10 Assert.AreEqual(node9, node4.Prev); Assert.AreEqual(node23, node4.Next); Assert.AreEqual(node4, node23.Prev); Assert.AreEqual(node10, node23.Next); Assert.AreEqual(node23, node10.Prev); Assert.IsNull(node10.Next); }