public void TestRemove() { for (var i = 0; i < 10; i++) { list.AddLast(i); } Assert.AreEqual(0, list.First.Value); Assert.AreEqual(9, list.Last.Value); list.RemoveFirst(); Assert.AreEqual(1, list.First.Value); Assert.AreEqual(9, list.Last.Value); list.RemoveLast(); Assert.AreEqual(1, list.First.Value); Assert.AreEqual(8, list.Last.Value); list.Remove(4); list.Remove(7); list.Remove(8); list.Remove(1); var node = list.First; Assert.AreEqual(2, node.Value); node = node.Next; Assert.AreEqual(3, node.Value); node = node.Next; Assert.AreEqual(5, node.Value); node = node.Next; Assert.AreEqual(6, node.Value); node = node.Next; Assert.AreEqual(null, node); }