Пример #1
0
        public void MergeTwoSortedArraysTest(int[] a, int[] b)
        {
            var aLength  = a.Length - b.Length;
            var expected = new List <int>();
            var i        = 0;
            var j        = 0;

            while (i < aLength && j < b.Length)
            {
                if (a[i] < b[j])
                {
                    expected.Add(a[i]);
                    i++;
                }
                else
                {
                    expected.Add(b[j]);
                    j++;
                }
            }
            while (i < aLength)
            {
                expected.Add(a[i]);
                i++;
            }
            while (j < b.Length)
            {
                expected.Add(b[j]);
                j++;
            }

            MergeTwoSortedArrays.Merge(a, aLength, b, b.Length);
            Common.AssertIsSorted(a);
            Common.AssertEqual(expected.ToArray(), a);
        }
Пример #2
0
        public void TwoSortedArraysShouldMergeCorrectly_Testcase_1()
        {
            // Arrange
            var arrayOne = new int[] { 3, 8, 15, 56, 98 };
            var arrayTwo = new int[] { 14, 34, 67, 70, 89 };

            // Act
            var sortedArray = MergeTwoSortedArrays.Merge(arrayOne, arrayTwo);

            // Assert
            CollectionAssert.AreEqual(new int[] { 3, 8, 14, 15, 34, 56, 67, 70, 89, 98 }, sortedArray);
        }
Пример #3
0
        public void TwoSortedArraysShouldMergeCorrectly_Testcase_3()
        {
            // Arrange
            var arrayOne = new int[] { 10, 25, 36, 43, 52, 74, 104 };
            var arrayTwo = new int[] { 5, 15, 28, 37, 49, 56, 89, 109 };

            // Act
            var sortedArray = MergeTwoSortedArrays.Merge(arrayOne, arrayTwo);

            // Assert
            CollectionAssert.AreEqual(new int[] { 5, 10, 15, 25, 28, 36, 37, 43, 49, 52, 56, 74, 89, 104, 109 }, sortedArray);
        }
Пример #4
0
        public void TwoSortedArraysShouldMergeCorrectly_Testcase_2()
        {
            // Arrange
            var arrayOne = new int[] { 1, 5, 19, 25, 33, 47 };
            var arrayTwo = new int[] { 6, 12, 29, 40, 57 };

            // Act
            var sortedArray = MergeTwoSortedArrays.Merge(arrayOne, arrayTwo);

            // Assert
            CollectionAssert.AreEqual(new int[] { 1, 5, 6, 12, 19, 25, 29, 33, 40, 47, 57 }, sortedArray);
        }
Пример #5
0
 [InlineData(new[] { 3, 3, 3, 3, 3 }, new[] { 3, 3, 3, 3, 3 }, new[] { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 })] //, TestName = "arrays of 3"
 public void Should_merge_two_sorted_arrays_and_return_a_sorted_array(int[] arr1, int[] arr2, int[] expected)
 {
     Assert.Equal(expected, MergeTwoSortedArrays.MergeInOrder(arr1, arr2));
 }
Пример #6
0
        public void Merge(int[] nums1, int m, int[] nums2, int n)
        {
            var merge = new MergeTwoSortedArrays(nums1, nums2, m, n);

            merge.MergeTwoArraysWithTwoPointers();
        }