public void TestRemove()
        {
            DoublyLinkedList <string> list = Create();

            list.Remove(list.First);
            Assert.AreEqual(2, list.Count);
            Assert.AreEqual(list.First.Value, value1);
            Assert.AreEqual(list.Last.Value, value2);
            TestEnumerable(list, value1, value2);
        }
        public void Test1()
        {
            DoublyLinkedList <string> list = Create();

            Assert.AreEqual(3, list.Count);
            Assert.AreEqual(list.First.Value, value0);
            Assert.AreEqual(list.Last.Value, value2);
            TestEnumerable(list, value0, value1, value2);

            list.Remove(list.First);
            Assert.AreEqual(2, list.Count);
            Assert.AreEqual(list.First.Value, value1);
            Assert.AreEqual(list.Last.Value, value2);
            TestEnumerable(list, value1, value2);

            list.AddFirst(value0);
            Assert.AreEqual(3, list.Count);
            Assert.AreEqual(list.First.Value, value0);
            Assert.AreEqual(list.Last.Value, value2);
            TestEnumerable(list, value0, value1, value2);

            list.RemoveAfterNodes(list.First);
            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(list.First, list.Last);
            Assert.AreEqual(list.First.Value, value0);
            Assert.AreEqual(list.Last.Value, value0);
            TestEnumerable(list, value0);

            var node0 = list.First;
            var node1 = list.AddAfter(node0, value2);

            Assert.AreEqual(2, list.Count);
            Assert.AreEqual(list.First.Value, value0);
            Assert.AreEqual(list.Last.Value, value2);
            TestEnumerable(list, value0, value2);

            node0 = list.AddBefore(node1, value1);
            Assert.AreEqual(3, list.Count);
            Assert.AreEqual(list.First.Value, value0);
            Assert.AreEqual(list.Last.Value, value2);
            TestEnumerable(list, value0, value1, value2);

            list.RemoveBeforNodes(node0);
            Assert.AreEqual(2, list.Count);
            Assert.AreEqual(list.First.Value, value1);
            Assert.AreEqual(list.Last.Value, value2);
            TestEnumerable(list, value1, value2);
        }