public static Fraction Add(Fraction firstFraction, Fraction secondFraction) { var leastCommonMultiple = DenominatorHelper.FindLeastCommonMultiple(firstFraction.Denominator, secondFraction.Denominator); int newNumerator = firstFraction.Numerator * (leastCommonMultiple / firstFraction.Denominator) + secondFraction.Numerator * (leastCommonMultiple / secondFraction.Denominator); var greatestCommonFactor = DenominatorHelper.FindGreatestCommonDivisor(newNumerator, leastCommonMultiple); return(new Fraction(newNumerator / greatestCommonFactor, leastCommonMultiple / greatestCommonFactor)); }
public static Fraction Divide(Fraction firstFraction, Fraction secondFraction) { int newNumerator = firstFraction.Numerator * secondFraction.Denominator; int newDenominator = firstFraction.Denominator * secondFraction.Numerator; var greatestCommonFactor = DenominatorHelper.FindGreatestCommonDivisor(newNumerator, newDenominator); return(new Fraction(newNumerator / greatestCommonFactor, newDenominator / greatestCommonFactor)); }
public void FindGreatestCommonDivisor_BiggestValueFirst_RightDivisorReturned() { var result = DenominatorHelper.FindGreatestCommonDivisor(150, 75); Assert.AreEqual(75, result); }
public void FindGreatestCommonDivisor_NegativeValue2_PositiveDividerReturned() { var result = DenominatorHelper.FindGreatestCommonDivisor(7, -13); Assert.AreEqual(1, result); }
public void FindGreatestCommonDivisor_WithPrimeNumber_OneReturned() { var result = DenominatorHelper.FindGreatestCommonDivisor(7, 13); Assert.AreEqual(1, result); }
public void FindGreatestCommonDivisor_SameValues_SameValueReturned() { var result = DenominatorHelper.FindGreatestCommonDivisor(4, 4); Assert.AreEqual(4, result); }