Ejemplo n.º 1
0
        public void RemoveFromBack_MaintainsOrder()
        {
            Deque <int> q = new Deque <int>(new[] { 1, 2, 3, 4, 5 });

            q.RemoveFromBack();
            Assert.AreEqual(4, q.Count, "Deque should remember its items");
            Assert.IsTrue(q.SequenceEqual(new[] { 1, 2, 3, 4 }), "Deque should remember its items");
        }
Ejemplo n.º 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);
        }
Ejemplo n.º 3
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);
        }
Ejemplo n.º 4
0
        public void GetItem_Split_ReadsElements()
        {
            var deque = new Deque <int>(new[] { 1, 2, 3 });

            deque.RemoveFromBack();
            deque.AddToFront(0);
            Assert.Equal(0, deque[0]);
            Assert.Equal(1, deque[1]);
            Assert.Equal(2, deque[2]);
        }
Ejemplo n.º 5
0
        public void RemoveFromBack_Empty_ActsLikeQueue()
        {
            var queue = new Queue <int>();

            Assert.Throws <InvalidOperationException>(() => queue.Dequeue());

            var deque = new Deque <int>();

            Assert.Throws <InvalidOperationException>(() => deque.RemoveFromBack());
        }
Ejemplo n.º 6
0
        public void IndexOf_ItemPresentAndSplit_ReturnsItemIndex()
        {
            var deque = new Deque <int>(new[] { 1, 2, 3 });

            deque.RemoveFromBack();
            deque.AddToFront(0);
            Assert.Equal(0, deque.IndexOf(0));
            Assert.Equal(1, deque.IndexOf(1));
            Assert.Equal(2, deque.IndexOf(2));
        }
Ejemplo n.º 7
0
        public void SetItem_Split_WritesElements()
        {
            var deque = new Deque <int>(new[] { 1, 2, 3 });

            deque.RemoveFromBack();
            deque.AddToFront(0);
            deque[0] = 7;
            deque[1] = 11;
            deque[2] = 13;
            Assert.Equal(new[] { 7, 11, 13 }, deque);
        }
Ejemplo n.º 8
0
        public void NongenericContains_ItemPresentAndSplit_ReturnsTrue()
        {
            var deque_ = new Deque <int>(new[] { 1, 2, 3 });

            deque_.RemoveFromBack();
            deque_.AddToFront(0);
            var deque = deque_ as IList;

            Assert.True(deque.Contains(0));
            Assert.True(deque.Contains(1));
            Assert.True(deque.Contains(2));
            Assert.False(deque.Contains(3));
        }
Ejemplo n.º 9
0
        public void Contains_ItemPresentAndSplit_ReturnsTrue()
        {
            var deque = new Deque <int>(new[] { 1, 2, 3 });

            deque.RemoveFromBack();
            deque.AddToFront(0);
            var deq = deque as ICollection <int>;

            Assert.True(deq.Contains(0));
            Assert.True(deq.Contains(1));
            Assert.True(deq.Contains(2));
            Assert.False(deq.Contains(3));
        }
Ejemplo n.º 10
0
        public void RemoveFromBack_WhenEmpty_IsRejected()
        {
            Deque <int> q = new Deque <int>();

            q.RemoveFromBack();
        }