public void RemoveLast_WhenThereAreItemsMultipleItems_ShoudlRemoveLast() { // Arrange var linkedList = new SinglyLinkList<string>(); linkedList.AddFirst(new SinglyLinkListNode<string>("Hello")); linkedList.AddLast(new SinglyLinkListNode<string>("There")); linkedList.AddLast(new SinglyLinkListNode<string>("SomeMore")); // Act linkedList.RemoveLast(); // Assert Assert.AreEqual("Hello", linkedList.GetHeadAndTail().Item1.Value, "Should contain the expected value."); Assert.AreEqual("There", linkedList.GetHeadAndTail().Item2.Value, "Should contain the expected value."); Assert.AreEqual(linkedList.GetHeadAndTail().Item1.Next, linkedList.GetHeadAndTail().Item2, "Pointer should be correct."); Assert.AreEqual(2, linkedList.Count, "Should contain the expected number of items."); }
public void RemoveLast_WhenThereIsASingleItem_RemovingItShouldSetCounter() { // Arrange var linkedList = new SinglyLinkList<string>(); linkedList.AddFirst(new SinglyLinkListNode<string>("hello")); // Act linkedList.RemoveLast(); // Assert Assert.AreEqual(0, linkedList.Count, "There should not be any item."); Assert.IsNull(linkedList.GetHeadAndTail().Item1, "Should be null."); Assert.IsNull(linkedList.GetHeadAndTail().Item2, "Should be null."); }
public void RemoveLast_WhenNoItemsInList_NothingShouldChange() { // Arrange var linkedList = new SinglyLinkList<decimal>(); // Act linkedList.RemoveLast(); // Assert Assert.IsNull(linkedList.GetHeadAndTail().Item1, "Should be null."); Assert.IsNull(linkedList.GetHeadAndTail().Item2, "Should be null."); Assert.AreEqual(0, linkedList.Count, "There should not be any item."); }