public void IsWholeNumber_IsValidResultNegative()
        {
            // arrange
            Fraction fraction1 = new Fraction(-3);
            Fraction fraction2 = new Fraction(-3, 4);
            Fraction fraction3 = new Fraction(-3, 2, 5);

            Boolean expected1 = true;
            Boolean expected2 = false;
            Boolean expected3 = false;

            // action
            Boolean actual1 = fraction1.IsWholeNumber();
            Boolean actual2 = fraction2.IsWholeNumber();
            Boolean actual3 = fraction3.IsWholeNumber();

            // assert
            Assert.AreEqual(expected1, actual1, "Invalid result with one argument; negative whole number.");
            Assert.AreEqual(expected2, actual2, "Invalid result with two arguments; negative fraction.");
            Assert.AreEqual(expected3, actual3, "Invalid result with three arguments; negative mixed number.");
        }
        /// <summary>
        /// MakeImproper - converts a mixed fraction or whole number to an improper fraction.
        /// </summary>
        /// <param name="fraction">Fraction to to convert.</param>
        /// <returns>Proper or Improper Fraction.</returns>
        public static Fraction MakeImproper(Fraction fraction)
        {
            // Check for mixed number fractions
            if (fraction.IsMixedNumber()){

                // Check whole part for negative sign
                if(fraction.WholePart < 0)
                {

                    // Convert a mixed number fraction to an improper fraction
                    return new Fraction( -1 *  (fraction.Denominator * Math.Abs(fraction.WholePart) + fraction.Numerator), fraction.Denominator);
                }
                else
                {
                    // Convert a mixed number fraction to an improper fraction
                    return new Fraction((fraction.Denominator * fraction.WholePart) + fraction.Numerator, fraction.Denominator);
                }

            } else if (fraction.IsWholeNumber()) {
                // Convert a whole number to an improper fraction
                return new Fraction(fraction.WholePart, 1);
            } else {

                // If not improper fraction, return original fraction
                return new Fraction(fraction.Numerator, fraction.Denominator);
            }
        }
 /// <summary>
 /// MakeDecimal - provides the "decimal" version of a fraction.
 /// </summary>
 /// <param name="fraction"></param>
 /// <returns>Decimal</returns>
 public static decimal MakeDecimal(Fraction fraction)
 {
     Fraction prepFraction;
     if(fraction.IsWholeNumber())
     { // whole number
         return (decimal)fraction.WholePart;
     }
     else
     { // fractions
         // Convert fractions to improper fraction format (returns the same fraction if it's proper fraction.)
         prepFraction = FractionOperations.MakeImproper(fraction);
         return ((decimal)prepFraction.Numerator / (decimal)prepFraction.Denominator);
     }
 }