protected void AdditionComparisonTest(long[] numbersToSumArray, CalculateSumOfNumbers calculateSumOfNumbers, long answerOfSum)
        {
            List <long> numbersToAddConversionList = new List <long>();

            numbersToAddConversionList.AddRange(numbersToSumArray);
            CalculateComparisonTest(numbersToAddConversionList, calculateSumOfNumbers, answerOfSum);
        }
        protected void TestCalculateSumOfNumbers()
        {
            long[]      numbersToSumArray = { 1, 2, 3 };
            List <long> numbersToSumList  = new List <long> {
                1, 2, 3
            };
            long answerOfSum = 6;
            CalculateSumOfNumbers calculateSumOfNumbers = new CalculateSumOfNumbers();

            TestCalculateSumOfNumbersTest(numbersToSumArray, numbersToSumList, answerOfSum, calculateSumOfNumbers);
            TestCalculateSumOfNumbersRandom(numbersToSumArray, numbersToSumList, answerOfSum, calculateSumOfNumbers);
        }
        protected static void CalculateSumOfNumbersExample()
        {
            int numA = 67;
            int numB = 90;
            int numC = 99;

            long[]      numbersToSumArray = { numA, numB, numC };
            List <long> numbersToSumList  = new List <long> {
                numA, numB, numC
            };

            CalculateSumOfNumbers calculateSumOfNumbers = new CalculateSumOfNumbers();
            long sumToUse = calculateSumOfNumbers.Calculate(numbersToSumArray);

            Console.WriteLine("The array sum of numA, numB, and numC is " + sumToUse);

            sumToUse = calculateSumOfNumbers.Calculate(numbersToSumList);
            Console.WriteLine("The list sum of numA, numB, and numC is " + sumToUse);
        }
        protected void AdditionComparisonTest(List <long> numbersToSumList, CalculateSumOfNumbers calculateSumOfNumbers, long answerOfSum)
        {
            long sumResult = calculateSumOfNumbers.AdditionTest(numbersToSumList);

            Assert.Equal(sumResult, answerOfSum);
        }
        protected void TestCalculateSumOfNumbersRandom(long[] numbersToSumArray, List <long> numbersToSumList, long answerOfSum, CalculateSumOfNumbers calculateSumOfNumbers)
        {
            // Tests Randomly
            Random randomNumbers         = new Random();
            int    numberOfRandomNumbers = randomNumbers.Next(1000);

            numbersToSumArray = new long[numberOfRandomNumbers];
            numbersToSumList  = new List <long> {
            };

            for (int i = 0; i < numberOfRandomNumbers; i++)
            {
                int currentRandomNumber = randomNumbers.Next(1000);
                numbersToSumArray[i] = currentRandomNumber;
                numbersToSumList.Add(currentRandomNumber);
            }

            answerOfSum = numbersToSumArray.Sum();

            TestCalculateSumOfNumbersTest(numbersToSumArray, numbersToSumList, answerOfSum, calculateSumOfNumbers);
        }
        protected void TestCalculateSumOfNumbersTest(long[] numbersToSumArray, List <long> numbersToSumList, long answerOfSum, CalculateSumOfNumbers calculateSumOfNumbers)
        {
            CalculateComparisonTest(numbersToSumArray, calculateSumOfNumbers, answerOfSum);
            CalculateComparisonTest(numbersToSumList, calculateSumOfNumbers, answerOfSum);

            AdditionComparisonTest(numbersToSumArray, calculateSumOfNumbers, answerOfSum);
            AdditionComparisonTest(numbersToSumList, calculateSumOfNumbers, answerOfSum);
        }