public void ElementsSumDecreasingBothArraysSumEqualTest()
        {
            int[] arr1 = new int[] { 1, 2, 3 };
            int[] arr2 = new int[] { 1, 2, 3 };
            ElementsSumDecreasing st = new ElementsSumDecreasing();
            int expected = ((IComparer)st).Compare(arr1, arr2);

            Assert.AreEqual(expected, 0);
        }
        public void ElementsSumDecreasingSecondArraySumLowerTest()
        {
            int[] arr1 = new int[] { 4, 5, 6 };
            int[] arr2 = new int[] { 1, 2, 3 };
            ElementsSumDecreasing st = new ElementsSumDecreasing();
            int expected = ((IComparer)st).Compare(arr1, arr2);

            Assert.AreEqual(expected, -1);
        }
 public void ArgumentNullExceptionTest1()
 {   
     QuickSorter qs = null;
     ElementsSumDecreasing st = new ElementsSumDecreasing();
     array.Sort(qs, st);  
 }
 public void NullRefferenceExceptionTest()
 {
     int[][] testArray = null;
     QuickSorter qs = new QuickSorter();
     ElementsSumDecreasing st = new ElementsSumDecreasing();
     testArray.Sort(qs, st);
 }
        public void QuickSortSumDecreasingDelegateTest()
        {
            int[][] expected = new int[][]
            { 
                array[8],
                array[4],
                array[0],
                array[5],
                array[1],
                array[6], 
                array[2],
                null,
                null,
                null,
                null
            };

            QuickSorter qs = new QuickSorter();
            ElementsSumDecreasing st = new ElementsSumDecreasing();
            array.Sort(qs, ((IComparer)st).Compare);
            int[][] actual = array;

            CollectionAssert.AreEqual(expected, actual);
        }