Exemple #1
0
        public void GCDIsCorrectForSampleTests(int firstNumber, int secondNumber, int expectedResult)
        {
            GreatestCommonDenominator gcd = new GreatestCommonDenominator();
            int value = gcd.findGCD(firstNumber, secondNumber);

            Assert.Equal(expectedResult, value);
        }
Exemple #2
0
        public void GCDIsFirstParameterWhenSecondParameterIsZero(int nonZeroNumber)
        {
            GreatestCommonDenominator gcd = new GreatestCommonDenominator();
            int value = gcd.findGCD(nonZeroNumber, 0);

            Assert.Equal(nonZeroNumber, value);
        }
Exemple #3
0
        public void GCDIsOneWhenOneParameterIsOne(int firstNumber, int secondNumber)
        {
            GreatestCommonDenominator gcd = new GreatestCommonDenominator();
            int value = gcd.findGCD(firstNumber, secondNumber);

            Assert.Equal(1, value);
        }
Exemple #4
0
        public void GCDThrowsErrorWhenGivenNonNaturalNumber(int firstNumber, int secondNumber)
        {
            GreatestCommonDenominator gcd = new GreatestCommonDenominator();
            Action act = () => gcd.findGCD(firstNumber, secondNumber);

            Assert.Throws <ArgumentException>(act);
        }
        public void ContinuedFractionsShouldReturnCorrectNextValues(int numerator, int denominator)
        {
            ContinuedFractions cf = new ContinuedFractions();

            (int, int, int)value = cf.findNext(numerator, denominator);
            int gcd = new GreatestCommonDenominator().findGCD(denominator, numerator % denominator);

            Assert.Equal((numerator / denominator, denominator / gcd, (numerator % denominator) / gcd), value);
        }
Exemple #6
0
 internal (int, int, int) findNext(int numerator, int denominator)
 {
     if (numerator == 0)
     {
         return(0, 0, 0);
     }
     else if (numerator < 0 || denominator <= 0)
     {
         throw new ArgumentException();
     }
     else if (denominator == 1)
     {
         return(numerator, 0, 0);
     }
     else
     {
         int gcd = new GreatestCommonDenominator().findGCD(denominator, numerator % denominator);
         return(numerator / denominator, denominator / gcd, (numerator % denominator) / gcd);
     }
 }
 public Factoriser()
 {
     gcd = new GreatestCommonDenominator();
     cf  = new ContinuedFractions();
 }