public void Deque_RemoveAtBack_MaintainsOrder() { Deque <int> q = new Deque <int>(new[] { 1, 2, 3, 4, 5 }); q.RemoveAt(4); Assert.AreEqual(4, q.Count, "Deque should remember its items"); Assert.IsTrue(q.SequenceEqual(new[] { 1, 2, 3, 4 }), "Deque should remember its items"); }
public void RemoveAt_LastIndex_IsSameAsRemoveFromBack() { var deque1 = new Deque <int>(new[] { 1, 2 }); var deque2 = new Deque <int>(new[] { 1, 2 }); deque1.RemoveAt(1); deque2.RemoveFromBack(); Assert.Equal(deque1, deque2); }
public void RemoveAt_Index0_IsSameAsRemoveFromFront() { var deque1 = new Deque <int>(new[] { 1, 2 }); var deque2 = new Deque <int>(new[] { 1, 2 }); deque1.RemoveAt(0); deque2.RemoveFromFront(); Assert.Equal(deque1, deque2); }
public void RemoveAt_RemovesElementAtIndex() { var deque = new Deque <int>(new[] { 1, 2, 3 }); deque.RemoveFromBack(); deque.AddToFront(0); deque.RemoveAt(1); Assert.Equal(new[] { 0, 2 }, deque); }
public void RemoveAt_IndexTooLarge_ActsLikeList() { var list = new List <int>(new[] { 1, 2, 3 }); Assert.Throws <ArgumentOutOfRangeException>("index", () => list.RemoveAt(list.Count)); var deque = new Deque <int>(new[] { 1, 2, 3 }); Assert.Throws <ArgumentOutOfRangeException>("index", () => deque.RemoveAt(deque.Count)); }
public void RemoveAt_NegativeIndex_ActsLikeList() { var list = new List <int>(new[] { 1, 2, 3 }); Assert.Throws <ArgumentOutOfRangeException>("index", () => list.RemoveAt(-1)); var deque = new Deque <int>(new[] { 1, 2, 3 }); Assert.Throws <ArgumentOutOfRangeException>("index", () => deque.RemoveAt(-1)); }