public void GCDIsCorrectForSampleTests(int firstNumber, int secondNumber, int expectedResult) { GreatestCommonDenominator gcd = new GreatestCommonDenominator(); int value = gcd.findGCD(firstNumber, secondNumber); Assert.Equal(expectedResult, value); }
public void GCDIsFirstParameterWhenSecondParameterIsZero(int nonZeroNumber) { GreatestCommonDenominator gcd = new GreatestCommonDenominator(); int value = gcd.findGCD(nonZeroNumber, 0); Assert.Equal(nonZeroNumber, value); }
public void GCDIsOneWhenOneParameterIsOne(int firstNumber, int secondNumber) { GreatestCommonDenominator gcd = new GreatestCommonDenominator(); int value = gcd.findGCD(firstNumber, secondNumber); Assert.Equal(1, value); }
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); }
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(); }