Exemple #1
0
        public void RemovedFirst()
        {
            for (int i = 1; i <= 1000; i++)
            {
                circularDoublyLinkedList.AddFirst(i);
            }

            circularDoublyLinkedList.RemoveFirst();

            Assert.AreEqual(circularDoublyLinkedList.Count(), 999, "invalid count");
            Assert.AreEqual(circularDoublyLinkedList.GetFirst(), 999, "invalid head element");
            Assert.AreEqual(circularDoublyLinkedList.GetLast(), 1, "invalid tail element");
        }
        public override T Dequeue()
        {
            if (Count == 0)
            {
                throw new InvalidOperationException("Empty");
            }

            var item = items.GetFirst();

            items.RemoveFirst();
            return(item);
        }
Exemple #3
0
        public void AddNullItem()
        {
            var list = new CircularDoublyLinkedList <string>();

            list.AddFirst(null);
            list.AddLast(null);
            list.AddAfter(null, null);
            list.AddBefore(null, null);
            Assert.AreEqual(list.Count(), 4, "invalid count");
            list.Remove(null);
            list.RemoveFirst();
            list.RemoveLast();
            Assert.AreEqual(list.Count(), 1, "invalid count");
        }