コード例 #1
0
        public void Calculate_ShouldThrowIndexOutOfRangeException_WhenEachNextLineIsNotLongerThanPreviousOnOneElement()
        {
            //Arrange
            var triangle = new List <List <int> >
            {
                new List <int>()
                {
                    3
                },
                new List <int>()
                {
                    7, 4
                },
                new List <int>()
                {
                    2, 4, 6
                },
                new List <int>()
                {
                    8, 5, 9
                }
            };
            var calculator = new MaximumSumCalculator(triangle);

            //Act
            var actualMaxSum = calculator.Calculate();
        }
コード例 #2
0
        public void Calculate_ShouldReturnCorrectMaxSum_WhenTriangleContainsNegativeNumbers()
        {
            //Arrange
            var triangle = new List <List <int> >
            {
                new List <int>()
                {
                    -3
                },
                new List <int>()
                {
                    7, 4
                },
                new List <int>()
                {
                    -2, -4, -6
                }
            };
            const int expectedMaxSum = 2;
            var       calculator     = new MaximumSumCalculator(triangle);

            //Act
            var actualMaxSum = calculator.Calculate();

            //Assert
            Assert.AreEqual(expectedMaxSum, actualMaxSum);
        }
コード例 #3
0
        public void Calculate_ShouldReturnCorrectMaxSum_WhenEachNextLineIsLongerThanPreviousOnOneElement()
        {
            //Arrange
            var triangle = new List <List <int> >
            {
                new List <int>()
                {
                    3
                },
                new List <int>()
                {
                    7, 4
                },
                new List <int>()
                {
                    2, 4, 6
                },
                new List <int>()
                {
                    8, 5, 9, 3
                }
            };
            const int expectedMaxSum = 23;
            var       calculator     = new MaximumSumCalculator(triangle);

            //Act
            var actualMaxSum = calculator.Calculate();

            //Assert
            Assert.AreEqual(expectedMaxSum, actualMaxSum);
        }
コード例 #4
0
        public void MaximumSumCalculator_Input_Sum()
        {
            //Arrange
            var inputArray = GetInputArray();

            //Act
            var calculator = new MaximumSumCalculator();
            var maximumSum = calculator.CalculateSum(inputArray);

            //Assert
            Assert.AreEqual(22, maximumSum);
        }
コード例 #5
0
        public void Calculate_ShouldReturnCorrectMaxSum_WhenItIsOnlyOneNumber()
        {
            //Arrange
            var triangle = new List <List <int> > {
                new List <int>()
                {
                    3
                }
            };
            const int expectedMaxSum = 3;
            var       calculator     = new MaximumSumCalculator(triangle);

            //Act
            var actualMaxSum = calculator.Calculate();

            //Assert
            Assert.AreEqual(expectedMaxSum, actualMaxSum);
        }