Пример #1
0
        public void AddFrontTest()
        {
            var list = new DoublyLinkedList <string>();

            list.AddFront("Charlie");
            list.AddFront("Beta");
            list.AddFront("Alpha");

            Assert.AreEqual(3, list.Count);
            Assert.AreEqual("Alpha", list.GetAt(0));
            Assert.AreEqual("Beta", list.GetAt(1));
            Assert.AreEqual("Charlie", list.GetAt(2));
        }
Пример #2
0
        public void AddStart()
        {
            DoublyLinkedList <int> list = new DoublyLinkedList <int>();

            list.AddFront(1);
            list.AddFront(0);
            int i = 0;

            foreach (var num in list)
            {
                Assert.True(num == i);
                i++;
            }
        }
        public void Should_create_doubly_linked_list_having_multiple_nodes_using_add_front()
        {
            // arrange
            var card2 = Card.Hearts(2);
            var card4 = Card.Hearts(4);
            var card6 = Card.Hearts(6);

            var list = new DoublyLinkedList <Card>();

            // act
            list.AddFront(card2);
            list.AddFront(card4);
            list.AddFront(card6);

            // assert
            Assert.AreEqual(expected: 3, actual: list.Count);
            Assert.AreEqual(expected: card6, actual: list.Head.Value);
            Assert.AreEqual(expected: card2, actual: list.Tail.Value);
        }
        public void Should_remove_node_from_end_of_doubly_linked_list_having_multiple_nodes()
        {
            // arrange
            var card4 = Card.Hearts(4);
            var card6 = Card.Hearts(6);

            var list = new DoublyLinkedList <Card>();

            // act
            list.AddFront(card4);
            list.AddFront(card6);
            var removedNode = list.RemoveEnd();

            // assert
            Assert.AreEqual(expected: 1, actual: list.Count);
            Assert.AreEqual(expected: card6, actual: list.Head.Value);
            Assert.AreEqual(expected: card4, actual: removedNode.Value);
            Assert.AreEqual(expected: null, actual: removedNode.Next);
            Assert.AreEqual(expected: card6, actual: list.Tail.Value);
        }
Пример #5
0
        public void AddFront_Correctly(IEnumerable <int> items)
        {
            var expected = items.Reverse().ToArray();
            var actual   = new DoublyLinkedList <int>();

            foreach (var item in items)
            {
                actual.AddFront(item);
            }

            CollectionAssert.AreEqual(expected, actual);
        }
        public void Should_get_list_of_node_values_from_singly_linked_list()
        {
            // arrange
            var card2 = Card.Hearts(2);
            var card4 = Card.Hearts(4);
            var card6 = Card.Hearts(6);

            var expectedList = new List <Card>
            {
                card6,
                card4,
                card2
            };

            var list = new DoublyLinkedList <Card>();

            // act
            list.AddFront(card2);
            list.AddFront(card4);
            list.AddFront(card6);

            // assert
            CollectionAssert.AreEqual(expected: expectedList, actual: list.ToList());
        }