Exemple #1
0
        public void Max_119_9()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

            list.InsertAtEnd(1);
            list.InsertAtEnd(1);
            list.InsertAtEnd(9);

            int?max = list.Max().GetValueOrDefault(0);

            Assert.AreEqual(9, max);
        }
Exemple #2
0
        public void Find4_123_ReturnsNull()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

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

            Cell <int>?cell = list.Find(4);

            Assert.IsNull(cell);
        }
Exemple #3
0
        public void Find2_123_ReturnsCellWith2()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

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

            Cell <int>?cell = list.Find(2);

            Assert.AreEqual(2, cell?.Value);
        }
Exemple #4
0
        public void IterateAfterInsertAtEnd_SingleLinkedList_InProperOrder()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

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

            int[] numbers = list.ToArray();

            Assert.AreEqual(new int[] { 1, 2, 3 }, numbers);
        }
Exemple #5
0
        public void ContainsLoopHash_7154_false()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

            list.InsertAtEnd(7);
            list.InsertAtEnd(1);
            list.InsertAtEnd(5);
            list.InsertAtEnd(4);

            var cyclic = list.ContainsLoopHashSet();

            Assert.IsFalse(cyclic);
        }
Exemple #6
0
        public void FiveToLast_EmptyList_error()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

            list.InsertAtEnd(7);
            list.InsertAtEnd(1);
            list.InsertAtEnd(5);
            list.InsertAtEnd(4);

            Assert.Throws <IndexOutOfRangeException>(
                () => list.KthToLast(5)
                );
        }
Exemple #7
0
        public void KToLast_7154_Expected(int k, int expect)
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

            list.InsertAtEnd(7);
            list.InsertAtEnd(1);
            list.InsertAtEnd(5);
            list.InsertAtEnd(4);

            int kth = list.KthToLast(k);

            Assert.AreEqual(expect, kth);
        }
Exemple #8
0
        public void Delete4_123_Returns123()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

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

            list.Delete(4);

            int[] numbers = list.ToArray();
            Assert.AreEqual(new int[] { 1, 2, 3 }, numbers);
        }
Exemple #9
0
        public void Clone_123_Equals123()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

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

            var copy = list.Clone();

            int[] numbers     = list.ToArray();
            int[] copyNumbers = copy.ToArray();
            Assert.AreEqual(numbers, copyNumbers);
        }
Exemple #10
0
        public void InsertAtEnd_EmptySingleLinkedList_ReturnsProperValue()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

            list.InsertAtEnd(10);

            int[] numbers = list.ToArray();

            Assert.AreEqual(10, numbers[0]);
        }
Exemple #11
0
        public void InsertAtEnd_EmptySingleLinkedList_HasOneValue()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

            list.InsertAtEnd(10);

            int[] numbers = list.ToArray();

            Assert.AreEqual(1, numbers.Length);
        }
Exemple #12
0
        public void RemoveDuplicates_71554887_71548()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

            list.InsertAtEnd(7);
            list.InsertAtEnd(1);
            list.InsertAtEnd(5);
            list.InsertAtEnd(5);
            list.InsertAtEnd(4);
            list.InsertAtEnd(8);
            list.InsertAtEnd(8);
            list.InsertAtEnd(7);

            var cleared = list.RemoveDuplicates();

            int[] numbers = cleared.ToArray();
            Assert.AreEqual(new int[] { 7, 1, 5, 4, 8 }, numbers);
        }
Exemple #13
0
        public void SelectionSort_LinkedList_Ordered()
        {
            SingleLinkedList <int> list = new SingleLinkedList <int>();

            list.InsertAtEnd(15);
            list.InsertAtEnd(4);
            list.InsertAtEnd(21);
            list.InsertAtEnd(3);
            list.InsertAtEnd(400);
            list.InsertAtEnd(21);

            var sorted = list.SelectionSort();

            int[] numbers = sorted.ToArray();
            Assert.AreEqual(new int[] { 3, 4, 15, 21, 21, 400 }, numbers);
        }