public void MustRemoveFromBackWhenOnlyOneItemIsInList() { LinkedList<int> sut = new LinkedList<int>(); sut.PushBack(1); Assert.Equal(1, sut.Back()); Assert.Equal(1, sut.Front()); Assert.Equal(1, sut.Count); sut.RemoveBack(); Assert.Equal(0, sut.Count); Assert.Throws<InvalidOperationException>(() => sut.Front()); Assert.Throws<InvalidOperationException>(() => sut.Back()); }
public void MustThrowWhenNoElementsExist() { var sut = new LinkedList<bool>(); var exception = Assert.Throws<InvalidOperationException>(() => sut.RemoveBack()); Assert.Equal("There are no elements to remove", exception.Message); }
public void MustRemoveFromBack() { LinkedList<int> sut = new LinkedList<int>(); sut.PushBack(1); Assert.Equal(1, sut.Back()); Assert.Equal(1, sut.Front()); Assert.Equal(1, sut.Count); sut.PushFront(2); Assert.Equal(1, sut.Back()); Assert.Equal(2, sut.Front()); Assert.Equal(2, sut.Count); sut.PushBack(3); Assert.Equal(3, sut.Back()); Assert.Equal(2, sut.Front()); Assert.Equal(3, sut.Count); sut.RemoveBack(); Assert.Equal(1, sut.Back()); Assert.Equal(2, sut.Front()); Assert.Equal(2, sut.Count); }