예제 #1
0
        static void Main(string[] args)
        {
            int numberOfFactors = 4;

            int[,] matrix = MagicStringContainer.GetIntegerMatrix();
            MatrixContainer matrixContainer = new MatrixContainer(matrix);

            int largestProduct = matrixContainer.GetLargestProduct(numberOfFactors);

            Console.WriteLine(largestProduct);
            Console.ReadKey();
        }
        public void SingleNumber()
        {
            int numberOfFactors = 1;

            int[,] matrix = { { 9 } };
            MatrixContainer matrixContainer = new MatrixContainer(matrix);
            int             expected        = 9;

            int actual = matrixContainer.GetLargestProduct(numberOfFactors);

            Assert.AreEqual(expected, actual);
        }
        public void SingleNumberInMagicMatrix()
        {
            int numberOfFactors = 1;

            int[,] matrix = MagicStringContainer.GetIntegerMatrix();
            MatrixContainer matrixContainer = new MatrixContainer(matrix);
            int             expected        = 99;

            int actual = matrixContainer.GetLargestProduct(numberOfFactors);

            Assert.AreEqual(expected, actual);
        }
        public void TripleNumberInThreeDimensionalMatrix()
        {
            int numberOfFactors = 3;

            int[,] matrix = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
            MatrixContainer matrixContainer = new MatrixContainer(matrix);
            int             expected        = 1;

            int actual = matrixContainer.GetLargestProduct(numberOfFactors);

            Assert.AreEqual(expected, actual);
        }
        public void DoubleNumberSecondRow()
        {
            int numberOfFactors = 2;

            int[,] matrix = { { 1, 1 }, { 2, 2 } };
            MatrixContainer matrixContainer = new MatrixContainer(matrix);
            int             expected        = 2 * 2;

            int actual = matrixContainer.GetLargestProduct(numberOfFactors);

            Assert.AreEqual(expected, actual);
        }