예제 #1
0
        private static IEnumerable <decimal> GetTwoIntegerOperationsSolutionsOrderDoesMatter(IReadOnlyList <int> userPickedNumbers)
        {
            var generatedPossibleSolutions = new List <decimal>();

            var userPickedNumbersOrderOne = userPickedNumbers.ToList();
            var userPickedNumbersOrderTwo = new List <int>
            {
                userPickedNumbers[1],
                userPickedNumbers[0]
            };

            var userPickedNumbersListInArrangedOrderList = new List <List <int> >
            {
                userPickedNumbersOrderOne,
                userPickedNumbersOrderTwo
            };

            foreach (var userPickedNumbersList in userPickedNumbersListInArrangedOrderList)
            {
                var numberOne = userPickedNumbersList[0];
                var numberTwo = userPickedNumbersList[1];

                //for (var index = 1; index <= userPickedNumbersList.Count(); index++)
                //{
                var differenceOfNumberOneNumberTwo = TwoIntegerOperations.Subtract(numberOne, numberTwo);
                var quotientOfNumberOneNumberTwo   = TwoIntegerOperations.Divide(numberOne, numberTwo);

                generatedPossibleSolutions.Add(differenceOfNumberOneNumberTwo);
                generatedPossibleSolutions.Add(quotientOfNumberOneNumberTwo);
                //}
            }

            //ToDo: the loop is generating too much data, for two integers should return 4 operations, instead it is returning 8
            return(generatedPossibleSolutions);
        }
예제 #2
0
        public void CanAdd()
        {
            const int addendOne   = 1;
            const int addendTwo   = 2;
            const int expectedSum = 3;

            var actualSum = TwoIntegerOperations.Add(addendOne, addendTwo);

            Assert.Equal(expectedSum, actualSum);
        }
예제 #3
0
        public void CanDivideAndGenerateDecimal()
        {
            const int     divisor          = 1;
            const int     dividend         = 2;
            const decimal expectedQuotient = 0.5m;

            var actualQuotient = TwoIntegerOperations.Divide(divisor, dividend);

            Assert.Equal(expectedQuotient, actualQuotient);
        }
예제 #4
0
        public void CanDivide()
        {
            const int divisor          = 6;
            const int dividend         = 2;
            const int expectedQuotient = 3;

            var actualQuotient = TwoIntegerOperations.Divide(divisor, dividend);

            Assert.Equal(expectedQuotient, actualQuotient);
        }
예제 #5
0
        public void CanMultiply()
        {
            const int multiplicand    = 2;
            const int multiplier      = 3;
            const int expectedProduct = 6;

            var actualProduct = TwoIntegerOperations.Multiply(multiplicand, multiplier);

            Assert.Equal(expectedProduct, actualProduct);
        }
예제 #6
0
        public void CanSubtract()
        {
            const int minuend            = 3;
            const int subtrahend         = 2;
            const int expectedDifference = 1;

            var actualDifference = TwoIntegerOperations.Subtract(minuend, subtrahend);

            Assert.Equal(expectedDifference, actualDifference);
        }
예제 #7
0
        private static IEnumerable <decimal> GetTwoIntegerOperationsSolutionsOrderDoesNotMatter(IReadOnlyList <int> userPickedNumbers)
        {
            var generatedPossibleSolutions = new List <decimal>();

            var numberOne = userPickedNumbers[0];
            var numberTwo = userPickedNumbers[1];

            var sumOfNumberOneNumberTwo     = TwoIntegerOperations.Add(numberOne, numberTwo);
            var productOfNumberOneNumberTwo = TwoIntegerOperations.Multiply(numberOne, numberTwo);

            generatedPossibleSolutions.Add(sumOfNumberOneNumberTwo);
            generatedPossibleSolutions.Add(productOfNumberOneNumberTwo);

            return(generatedPossibleSolutions);
        }