public void WhenCalledForListWithOneNode_ShouldEmptyList() { var sut = new ChainedList <int>(new List <int> { 1 }); sut.RemoveHead(); Assert.IsTrue(sut.IsEmpty); }
public void WhenListNotEmpty_ShouldReturnFalse() { var sut = new ChainedList <int>(new List <int> { 1, 2 }); Assert.IsFalse(sut.IsEmpty); Assert.IsTrue(sut.Any()); sut.RemoveHead(); Assert.IsFalse(sut.IsEmpty); Assert.IsTrue(sut.Any()); }
public void WhenRemovesOnlyNOde_ShouldReturnTrue() { var sut = new ChainedList <int>(new List <int> { 1 }); Assert.IsFalse(sut.IsEmpty); Assert.IsTrue(sut.Any()); sut.RemoveHead(); Assert.IsTrue(sut.IsEmpty); Assert.IsFalse(sut.Any()); }
public void WhenCalled_ShouldRemoveHead() { var sut = new ChainedList <int>(new List <int> { 1, 2, 4, 10 }); sut.RemoveHead(); var first = sut.Head; var second = first.Next; var third = second.Next; Assert.AreEqual(2, first.Value); Assert.AreEqual(4, second.Value); Assert.AreEqual(10, third.Value); Assert.IsNull(third.Next); }