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");
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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);
        }
Example #5
0
        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));
        }
Example #6
0
        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));
        }