//-------------------------------------------------------------------------
        public virtual void test_with()
        {
            double[][] @base = new double[][]
            {
                new double[] { 1d, 2d },
                new double[] { 3d, 4d },
                new double[] { 5d, 6d }
            };
            DoubleMatrix test = DoubleMatrix.copyOf(@base);

            assertMatrix(test.with(0, 0, 2.6d), 2.6d, 2d, 3d, 4d, 5d, 6d);
            assertMatrix(test.with(0, 0, 1d), 1d, 2d, 3d, 4d, 5d, 6d);
            assertThrows(() => test.with(-1, 0, 2d), typeof(System.IndexOutOfRangeException));
            assertThrows(() => test.with(3, 0, 2d), typeof(System.IndexOutOfRangeException));
            assertThrows(() => test.with(0, -1, 2d), typeof(System.IndexOutOfRangeException));
            assertThrows(() => test.with(0, 3, 2d), typeof(System.IndexOutOfRangeException));
        }