Esempio n. 1
0
        public void RemoveDuplicatesSucceeds_WhenOneDuplicate()
        {
            // Arrange
            IntegerLinkedList list = new IntegerLinkedList {
                Head = new IntegerNode(5)
            };

            list.AddToFront(5);
            list.AddToFront(3);

            // Act
            list.RemoveDuplicates();

            // Assert
            Assert.AreEqual(list.Head.Data, 3);
            Assert.AreEqual(list.Head.Next.Data, 5);
            Assert.IsNull(list.Head.Next.Next);
        }
Esempio n. 2
0
        public void RemoveDuplicatesSucceeds_WhenNoDuplicates()
        {
            // Arrange
            IntegerLinkedList list = new IntegerLinkedList {
                Head = new IntegerNode(4)
            };

            list.AddToFront(3);
            list.AddToFront(2);
            list.AddToFront(1);

            // Act
            list.RemoveDuplicates();

            // Assert
            Assert.AreEqual(1, list.Head.Data);
            Assert.AreEqual(2, list.Head.Next.Data);
            Assert.AreEqual(3, list.Head.Next.Next.Data);
            Assert.AreEqual(4, list.Head.Next.Next.Next.Data);
            Assert.IsNull(list.Head.Next.Next.Next.Next);
        }
Esempio n. 3
0
        public void DeleteDupesFromBookSucceeds_WhenMultipleDuplicates()
        {
            // Arrange
            IntegerLinkedList list = new IntegerLinkedList {
                Head = new IntegerNode(5)
            };

            list.AddToFront(12);
            list.AddToFront(5);
            list.AddToFront(12);
            list.AddToFront(5);
            list.AddToFront(3);
            list.AddToFront(-6);

            // Act
            list.DeleteDupesFromBook(list.Head);

            // Assert
            Assert.AreEqual(-6, list.Head.Data);
            Assert.AreEqual(3, list.Head.Next.Data);
            Assert.AreEqual(5, list.Head.Next.Next.Data);
            Assert.AreEqual(12, list.Head.Next.Next.Next.Data);
            Assert.IsNull(list.Head.Next.Next.Next.Next);
        }