public void Given_two_sorted_array_when_merge_then_should_be_merged_as_one_sorted_array()
        {
            var solution = new MergeSortedArray();

            solution.Merge(_numbersFirst, 5, _numbersSecond, 4);
            Assert.Equal(_numbersFirst, _expected);
        }
Пример #2
0
        public void TestInsufficientArrayLength()
        {
            int[] first  = Helper.CreateArray(new int[] { 1, 2, 3 }, 5);
            int[] second = new int[] { 4, 5, 6 };

            MergeSortedArray.Process(first, second, 3);
        }
Пример #3
0
        public void TestFirstInMiddleOfSecond()
        {
            int[] first  = Helper.CreateArray(new int[] { 2, 4, 5 }, 10);
            int[] second = new int[] { 1, 3, 6 };

            MergeSortedArray.Process(first, second, 3);
            CollectionAssert.AreEqual(Helper.CreateArray(new int[] { 1, 2, 3, 4, 5, 6 }, 10), first);
        }
Пример #4
0
        public void TestSecondArrayIsEmpty()
        {
            int[] first  = Helper.CreateArray(new int[] { 1, 2, 3 }, 10);
            int[] second = new int[0];

            MergeSortedArray.Process(first, second, 3);
            CollectionAssert.AreEqual(Helper.CreateArray(first, 10), first);
        }
Пример #5
0
        public void TestFirstArrayIsEmpty()
        {
            int[] first  = new int[10];
            int[] second = new int[] { 3, 4, 5 };

            MergeSortedArray.Process(first, second, 0);
            CollectionAssert.AreEqual(Helper.CreateArray(second, 10), first);
        }
Пример #6
0
        public void TestFirstArrayIsNull()
        {
            int[] first  = null;
            int[] second = new int[] { 4, 5, 6 };

            MergeSortedArray.Process(first, second, 0);
            Assert.IsNull(first);
        }
Пример #7
0
        public void TestFirstIsSameAsSecond()
        {
            int[] first  = Helper.CreateArray(new int[] { 1, 2 }, 5);
            int[] second = new int[] { 1, 2, 3 };

            MergeSortedArray.Process(first, second, 2);
            CollectionAssert.AreEqual(Helper.CreateArray(new int[] { 1, 1, 2, 2, 3 }, 5), first);
        }
Пример #8
0
        public void TestMergeSortedArray()
        {
            var a1 = new[] { 1, 2, 3, 0, 0, 0 };
            var a2 = new[] { 2, 5, 6 };

            MergeSortedArray.Merge(a1, 3, a2, 3);
            Assert.AreEqual(a1[4], 5);
            Assert.AreEqual(a1[0], 1);
        }
Пример #9
0
        public void SecondTry_First_Parameter_Is_Empty()
        {
            int[] x = new int[0];
            int[] y = new int[] { 4, 6, 29, 30 };

            int[] z = new MergeSortedArray().SecondTry(x, y);

            Assert.Equal(new int[] { 4, 6, 29, 30 }, z);
        }
Пример #10
0
        public void SecondTry_Merged_Two_Sorted_Arrays_Inverting_The_Parameters()
        {
            int[] x = new int[] { 4, 6, 29, 30 };
            int[] y = new int[] { 0, 3, 4, 31, 44, 49 };

            int[] z = new MergeSortedArray().SecondTry(x, y);

            Assert.Equal(new int[] { 0, 3, 4, 4, 6, 29, 30, 31, 44, 49 }, z);
        }
Пример #11
0
 void InternalTest(int[] n1, int m, int[] n2, int n, int[] expected)
 {
     MergeSortedArray.Merge(n1, m, n2, n);
     Assert.Equal <int>(expected.Length, n1.Length);
     for (int i = 0; i < n1.Length; i++)
     {
         Assert.Equal <int>(expected[i], n1[i]);
     }
 }
Пример #12
0
        public void SecondTry_Second_Parameter_Is_Empty()
        {
            int[] x = new int[] { 0, 3, 4, 31, 44, 49 };
            int[] y = new int[0];

            int[] z = new MergeSortedArray().SecondTry(x, y);

            Assert.Equal(new int[] { 0, 3, 4, 31, 44, 49 }, z);
        }
Пример #13
0
        public void FirstTry_Merged_Two_Sorted_Arrays()
        {
            int[] x = new int[] { 0, 3, 4, 31, 44, 49 };
            int[] y = new int[] { 4, 6, 29, 30 };

            int[] z = new MergeSortedArray().FirstTry(x, y);

            Assert.Equal(new int[] { 0, 3, 4, 4, 6, 29, 30, 31, 44, 49 }, z);
        }
Пример #14
0
        public void MergeSortedArrayTestCase2()
        {
            var nums1 = new[] { 1 };
            var m     = 1;
            var nums2 = new int[] {};
            var n     = 0;

            MergeSortedArray.Merge(nums1, m, nums2, n);
            nums1.Should().ContainInOrder(new [] { 1 });
        }
Пример #15
0
        public void MergeSortedArrayTestCase1()
        {
            var nums1 = new[] { 1, 2, 3, 0, 0, 0 };
            var m     = 3;
            var nums2 = new[] { 2, 5, 6 };
            var n     = 3;

            MergeSortedArray.Merge(nums1, m, nums2, n);
            nums1.Should().ContainInOrder(new [] { 1, 2, 2, 3, 5, 6 });
        }
        public void TestMethod2MergeTwoArrayOneEmptyArray()
        {
            MergeSortedArray testClass = new MergeSortedArray();

            int[] array1 = new int[] { 1, 2, 3 };
            int[] array2 = new int[] { };
            int[] array3 = testClass.MergeTwoSortedArraySame(array1, array2);
            Assert.AreEqual(3, array3.Length);
            Assert.AreEqual(1, array3[0]);
            Assert.AreEqual(3, array3[2]);
        }
        public void MergeTwoArrayOfDifferntSize()
        {
            MergeSortedArray testClass = new MergeSortedArray();

            int[] array1 = new int[] { 1, 3 };
            int[] array2 = new int[] { 2 };
            int[] array3 = testClass.MergeTwoSortedArray(array1, array2);
            Assert.AreEqual(3, array3.Length);
            Assert.AreEqual(1, array3[0]);
            Assert.AreEqual(3, array3[2]);
        }
Пример #18
0
        public void MergeSortedArraySolution2()
        {
            var nums1          = new[] { 1, 2, 3, 0, 0, 0 };
            var m              = 3;
            var nums2          = new[] { 2, 5, 6 };
            var n              = 3;
            var expectedResult = new[] { 1, 2, 2, 3, 5, 6 };
            var testClass      = new MergeSortedArray();
            var res            = testClass.Solution2(nums1, m, nums2, n);

            Assert.AreEqual(expectedResult, res);
        }
Пример #19
0
        private bool TestMergeSortedArraysIntoAnother()
        {
            MergeSortedArray c = new MergeSortedArray();

            int [] nums1 = new int [] { 1, 2, 2, 5, 7, 0, 0, 0, 0 };
            int [] nums2 = new int [] { 4, 2, 9, 10 };
            nums1 = c.MergeSortedArrayIntoAnother(nums1, 5, nums2, 4);
            int [] expectedResult = new int [] { 1, 2, 2, 2, 4, 5, 7, 9, 10 };
            if (nums1 == expectedResult)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #20
0
        public bool TestMergeSortedArrays()
        {
            MergeSortedArray c = new MergeSortedArray();

            int[] nums1          = new int[] { 5, 6, 6, 8 };
            int[] nums2          = new int[] { 1, 3, 10 };
            var   result         = c.MergeSortedArrayOne(nums1, nums2);
            var   expectedResult = new int[] { 1, 3, 5, 6, 6, 8, 10 };

            if (expectedResult == result)
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
Пример #21
0
        public void MergeTests()
        {
            MergeSortedArray obj = new MergeSortedArray();

            var arr  = new int[] { 1, 2, 3, 0, 0, 0 };
            var arr1 = new int[] { 2, 5, 6 };

            obj.Merge(arr, 3, arr1, 3);//[1,2,2,3,5,6]

            arr  = new int[] { 0 };
            arr1 = new int[] { 1 };
            obj.Merge(arr, 0, arr1, 1);//[1,2,2,3,5,6]

            arr  = new int[] { };
            arr1 = new int[] { };
            obj.Merge(arr, 0, arr1, 0);

            arr  = new int[] { 1, 2, 3 };
            arr1 = new int[] { };
            obj.Merge(arr, 0, arr1, 0);
        }
Пример #22
0
 public void Setup()
 {
     _sut = new MergeSortedArray();
 }
Пример #23
0
 public void Setup()
 {
     _sut       = new MergeSortedArray();
     _stopwatch = new Stopwatch();
 }