public void SortTest_MinRow()
        {
            double[][] array = new double[][] {
                new double[] { 20, 300, -12 },
                new double[] { 20, 300, -400, int.MaxValue },
                new double[] { 20, int.MinValue },
                new double[] { 20, 300, -12, 100, 0, 1594984465 },
                new double[] { 20 }
            };


            double[][] arrayMinExpected = new double[][] {
                new double[] { 20, int.MinValue },
                new double[] { 20, 300, -400, int.MaxValue },
                new double[] { 20, 300, -12 },
                new double[] { 20, 300, -12, 100, 0, 1594984465 },
                new double[] { 20 }
            };


            IComparer <double[]> sortMethod = new RowMinNum();

            SortDelegateToInterface.BubbleSort(array, sortMethod, byAsc: false);
            Assert.IsTrue(IsEqual(array, arrayMinExpected));
        }
        public void SortTest_Delegate_SumSort()
        {
            double[][] array = new double[][] {
                new double[] { 20, 300, -12 },
                new double[] { 20, 300, -400, int.MaxValue },
                new double[] { 20, int.MinValue },
                new double[] { 20, 300, -12, 100, 0, 1594984465 },
                new double[] { 20 }
            };

            double[][] arraySumExpected = new double[][] {
                new double[] { 20, 300, -400, int.MaxValue },       // sum:
                new double[] { 20, 300, -12, 100, 0, 1594984465 },  // sum: 1 594 984 873
                new double[] { 20, 300, -12 },                      // sum: 308
                new double[] { 20 },                                // sum: 20
                new double[] { 20, int.MinValue }
            };

            SortDelegateToInterface.BubbleSort(array, new RowSum().Compare, byAsc: false);
            Assert.IsTrue(IsEqual(array, arraySumExpected));
        }