Ejemplo n.º 1
0
        private void ValidateResult <T>(Node <T> expected, Node <T> input)
            where T : IEquatable <T>
        {
            var inputCopy  = ListHelpers.CloneList(input);
            var inputCopy2 = ListHelpers.CloneList(input);

            Question_2_1.RemoveDuplicates(inputCopy);
            ListHelpers.ValidateLinkedListContent(expected, inputCopy);
            Question_2_1.RemoveDuplicatesNoSpace(input);
            ListHelpers.ValidateLinkedListContent(expected, input);
            Question_2_1.RemoveDuplicatesNoSpace2(inputCopy2);
            ListHelpers.ValidateLinkedListContent(expected, input);
        }
Ejemplo n.º 2
0
        private static void Validate(int num1, int num2)
        {
            var numberAsReversedList1 = CreateDigitList(num1, reversed: true);
            var numberAsReversedList2 = CreateDigitList(num2, reversed: true);
            var expected = CreateDigitList(num1 + num2, reversed: true);
            var result   = Question_2_5.SumListsReversed(numberAsReversedList1, numberAsReversedList2);

            ListHelpers.ValidateLinkedListContent(expected, result);

            var numberAsList1 = CreateDigitList(num1, reversed: false);
            var numberAsList2 = CreateDigitList(num2, reversed: false);
            var result2       = Question_2_5.SumLists(numberAsList1, numberAsList2);

            ListHelpers.ValidateLinkedListContent(expected, result2);
        }
Ejemplo n.º 3
0
        public void Question_2_3_BasicCases()
        {
            // Remove 1 middle node: 1, 2, 3 => 1, 3
            var l1       = ListHelpers.CreateLinkedList(1, 2, 3);
            var expected = ListHelpers.CreateLinkedList(1, 3);

            Question_2_3.RemoveMiddleNode(l1.Next);
            ListHelpers.ValidateLinkedListContent(expected, l1);

            // Remove 2: 1, 2, 3, 4 => 1, 4
            var l2 = ListHelpers.CreateLinkedList(1, 2, 3, 4);

            expected = ListHelpers.CreateLinkedList(1, 4);
            Question_2_3.RemoveMiddleNode(l2.Next);
            Question_2_3.RemoveMiddleNode(l2.Next);
            ListHelpers.ValidateLinkedListContent(expected, l2);

            // Remove 1 node from big list: 1, 2, 3, 4, 5, 6, 7 => 1, 2, 3, 5, 6, 7
            var l3 = ListHelpers.CreateLinkedList(1, 2, 3, 4, 5, 6, 7);

            expected = ListHelpers.CreateLinkedList(1, 2, 3, 5, 6, 7);
            Question_2_3.RemoveMiddleNode(l3.Next.Next.Next);
            ListHelpers.ValidateLinkedListContent(expected, l3);
        }
Ejemplo n.º 4
0
 private static void ValidateResult <T>(Node <T> list, T partition, params T[] expected)
     where T : IEquatable <T>, IComparable <T>
 {
     Question_2_4.PartitionList(list, partition);
     ListHelpers.ValidateLinkedListContent(list, expected);
 }