public void Test_ToDiagonalMatrix_NonSquareOutput_InvalidNumCols_Helper()
        {
            double[] diagonal = new double[] { 1, 2, 3 };
            int      numRows  = 3;
            int      numCols  = 2;

            ArrayMatrixUtils.ToDiagonalMatrix(diagonal, numRows, numCols);
        }
        public void Test_ToDiagonalMatrix()
        {
            double[] diagonal = new double[] { 1, 2, 3 };

            double[,] expected = new double[, ] {
                { 1, 0, 0 },
                { 0, 2, 0 },
                { 0, 0, 3 },
            };

            double[,] actual = ArrayMatrixUtils.ToDiagonalMatrix(diagonal);

            Assert.That(actual, Is.EqualTo(expected).Within(precision));
        }
        public void Test_ToDiagonalMatrix_NonSquareOutput()
        {
            double[] diagonal = new double[] { 1, 2, 3 };
            int      numRows  = 4;
            int      numCols  = 3;

            double[,] expected = new double[, ] {
                { 1, 0, 0 },
                { 0, 2, 0 },
                { 0, 0, 3 },
                { 0, 0, 0 },
            };

            double[,] actual = ArrayMatrixUtils.ToDiagonalMatrix(diagonal, numRows, numCols);

            Assert.That(actual, Is.EqualTo(expected).Within(precision));
        }