public void GetValue_FractionIsValid_ShouldReturnDoubleValue()
 {
     Fraction.Fraction fraction = new Fraction.Fraction();
     fraction.Numerator   = 3;
     fraction.Denominator = 4;
     Assert.AreEqual(0.75, fraction.GetValue(), 0.01);
 }
 public void GetNumerator_FractionCannotBeShortened_ShouldReturnOriginalValue()
 {
     Fraction.Fraction fraction = new Fraction.Fraction();
     fraction.Numerator   = 8;
     fraction.Denominator = 19;
     Assert.AreEqual(8, fraction.Numerator);
 }
 public void GetDenominator_FractionCanBeShortened_ShouldReturnShortenedValue()
 {
     Fraction.Fraction fraction = new Fraction.Fraction();
     fraction.Numerator   = 8;
     fraction.Denominator = 28;
     Assert.AreEqual(7, fraction.Denominator);
 }
 public void IsValid_SetNumeratorAndDenominator_ShouldReturnValid()
 {
     Fraction.Fraction fraction = new Fraction.Fraction();
     fraction.Numerator   = 3;
     fraction.Denominator = 4;
     Assert.IsTrue(fraction.IsValid);
 }
 public void Add_OperandInvalid_ShouldReturnNull()
 {
     Fraction.Fraction fractionA = new Fraction.Fraction(3, 4);
     Fraction.Fraction fractionB = new Fraction.Fraction();
     Fraction.Fraction result    = fractionA + fractionB;
     Assert.IsNull(result);
 }
 public void IsEqual_FractionIsNull_ShouldReturnFalse()
 {
     Fraction.Fraction fraction1 = new Fraction.Fraction();
     fraction1.Numerator   = 3;
     fraction1.Denominator = 2;
     Assert.IsFalse(fraction1.IsEqual(null));
 }
示例#7
0
 public Monomial(String monomial)
 {
     if (monomial.Length > 0)
     {
         if (ContainsLetters(monomial))
         {
             if (!(monomial.StartsWith("+") || monomial.StartsWith("-")))
             {
                 monomial = "+" + monomial;
             }
             moCoefficient = OutputNumbers(monomial, ref moLetters);
         }
         else
         {
             Decimal temp = Decimal.Parse(monomial);
             if (temp != 0)
             {
                 moCoefficient = temp;
             }
         }
     }
     else
     {
         throw new Exception("Try to use Monomial()! ");
     }
 }
 public void Mult_WithShorten_ShouldReturnCorrectResult()
 {
     Fraction.Fraction fractionA = new Fraction.Fraction(3, 4);
     Fraction.Fraction fractionB = new Fraction.Fraction(5, 6);
     Fraction.Fraction result    = Fraction.Fraction.Mult(fractionA, fractionB);
     Assert.AreEqual(5, result.Numerator);
     Assert.AreEqual(8, result.Denominator);
 }
 public void Add_WithShorten_ShouldReturnCorrectResult()
 {
     Fraction.Fraction fractionA = new Fraction.Fraction(3, 4);
     Fraction.Fraction fractionB = new Fraction.Fraction(5, 6);
     Fraction.Fraction result    = fractionA + fractionB;
     Assert.AreEqual(19, result.Numerator, "Einfache Addition: Numerator fehlerhaft");
     Assert.AreEqual(12, result.Denominator, "Einfache Addition: Denominator fehlerhaft");
 }
 public void Add_WithoutShorten_ShouldReturnCorrectResult()
 {
     Fraction.Fraction fractionA = new Fraction.Fraction(3, 4);
     Fraction.Fraction fractionB = new Fraction.Fraction(5, 7);
     Fraction.Fraction result    = Fraction.Fraction.Add(fractionA, fractionB);
     Assert.AreEqual(41, result.Numerator, "Einfache Addition: Numerator fehlerhaft");
     Assert.AreEqual(28, result.Denominator, "Einfache Addition: Denominator fehlerhaft");
 }
 public void Div_WithoutShorten_ShouldReturnCorrectResult()
 {
     Fraction.Fraction fractionA = new Fraction.Fraction(3, 4);
     Fraction.Fraction fractionB = new Fraction.Fraction(5, 7);
     Fraction.Fraction result    = Fraction.Fraction.Div(fractionA, fractionB);
     Assert.AreEqual(21, result.Numerator);
     Assert.AreEqual(20, result.Denominator);
 }
 public void Div_WithShorten_ShouldReturnCorrectResult()
 {
     Fraction.Fraction fractionA = new Fraction.Fraction(3, 4);
     Fraction.Fraction fractionB = new Fraction.Fraction(5, 6);
     Fraction.Fraction result    = fractionA / fractionB;
     Assert.AreEqual(9, result.Numerator);
     Assert.AreEqual(10, result.Denominator);
 }
 public void IsValid_DenominatorTo0_ShouldReturnInvalid()
 {
     Fraction.Fraction fraction = new Fraction.Fraction();
     fraction.Numerator   = 3;
     fraction.Denominator = 4;
     fraction.Denominator = 0;
     Assert.IsFalse(fraction.IsValid);
 }
 public void Mult_WithoutShorten_ShouldReturnCorrectResult()
 {
     Fraction.Fraction fractionA = new Fraction.Fraction(3, 4);
     Fraction.Fraction fractionB = new Fraction.Fraction(5, 7);
     Fraction.Fraction result    = fractionA * fractionB;
     Assert.AreEqual(15, result.Numerator);
     Assert.AreEqual(28, result.Denominator);
 }
        public void ConvertToString_DenominatorNotInitialized_ShouldReturnErrorText()
        {
            Fraction.Fraction fraction = new Fraction.Fraction();
            fraction.Numerator = 3;
            string actual   = fraction.ConvertToString();
            string expected = "denominator is not initialized";

            Assert.AreEqual(expected, actual);
        }
        public void ConvertToString_DenominatorIs0_ShouldReturnErrorText()
        {
            Fraction.Fraction fraction = new Fraction.Fraction();
            fraction.Numerator   = 3;
            fraction.Denominator = 0;
            string actual   = fraction.ConvertToString();
            string expected = "denominator is set to 0";

            Assert.AreEqual(expected, actual);
        }
 public void IsEqual_DenominatorTo0_ShouldReturnFalse()
 {
     Fraction.Fraction fraction1 = new Fraction.Fraction();
     fraction1.Numerator   = 3;
     fraction1.Denominator = 0;
     Fraction.Fraction fraction2 = new Fraction.Fraction();
     fraction2.Numerator   = 5;
     fraction2.Denominator = 6;
     Assert.IsFalse(fraction1.IsEqual(fraction2));
 }
 public void IsEqual_ShortenIsEqual_ShouldReturnTrue()
 {
     Fraction.Fraction fraction1 = new Fraction.Fraction();
     fraction1.Numerator   = 3;
     fraction1.Denominator = 2;
     Fraction.Fraction fraction2 = new Fraction.Fraction();
     fraction2.Numerator   = 6;
     fraction2.Denominator = 4;
     Assert.IsTrue(fraction1.IsEqual(fraction2));
 }
        public void ConvertToString_FractionCannotBeShortened_ShouldReturnCorrectText()
        {
            Fraction.Fraction fraction = new Fraction.Fraction();
            fraction.Numerator   = 3;
            fraction.Denominator = 4;
            string actual   = fraction.ConvertToString();
            string expected = "3/4";

            Assert.AreEqual(expected, actual);
        }
 public void IsEqual_InvalidFraction_ShouldReturnFalse()
 {
     // Ungleiche Brüche
     Fraction.Fraction fraction = new Fraction.Fraction();
     Fraction.Fraction other    = new Fraction.Fraction();
     fraction.Numerator   = 3;
     fraction.Denominator = 1;
     other.Numerator      = 6;
     other.Denominator    = 0;
     Assert.IsFalse(fraction.IsEqual(other));
 }
 public void IsEqual_IsEqualAfterNormalize_ShouldReturnTrue()
 {
     // Ungleiche Brüche
     Fraction.Fraction fraction = new Fraction.Fraction();
     Fraction.Fraction other    = new Fraction.Fraction();
     fraction.Numerator   = 3;
     fraction.Denominator = 4;
     other.Numerator      = 6;
     other.Denominator    = 8;
     Assert.IsTrue(fraction.IsEqual(other));
 }
 public void IsEqual_DifferentFractions_ShouldReturnFalse()
 {
     // Ungleiche Brüche
     Fraction.Fraction fraction = new Fraction.Fraction();
     Fraction.Fraction other    = new Fraction.Fraction();
     fraction.Numerator   = 3;
     fraction.Denominator = 4;
     other.Numerator      = 7;
     other.Denominator    = 5;
     Assert.IsFalse(fraction.IsEqual(other));
 }
        // Vetting the inverse of the results division
        private bool CheckDivision(Fraction.Fraction first, Fraction.Fraction second)
        {
            // Saving the original data
            Fraction.Fraction firstFraction  = first;
            Fraction.Fraction secondFraction = second;
            System.Console.Write("\n" + fractionCalulator.ReducedFraction(firstFraction).GetNumerator().ToString() + '/' + fractionCalulator.ReducedFraction(firstFraction).GetDenominator().ToString()
                                 + " / " + fractionCalulator.ReducedFraction(secondFraction).GetNumerator().ToString() + '/' + fractionCalulator.ReducedFraction(secondFraction).GetDenominator().ToString());

            // Grab the results from the calculator
            // MODIFY: Changing method to something else will produce failed test cases
            //Fraction.Fraction actualResults = fractionCalulator.Addition(first, second);
            Fraction.Fraction actualResults = fractionCalulator.Division(first, second);
            System.Console.Write(" = " + actualResults.GetNumerator().ToString() + '/' + actualResults.GetDenominator().ToString());

            // actual results turns out to be a non-real fraction so pass it
            if (actualResults.GetDenominator() == 0 && second.GetNumerator() == 0)
            {
                return(true);
            }


            // Run the inverse operations of the function to pull the expected results
            Fraction.Fraction expectedResults = new Fraction.Fraction();
            expectedResults.SetDenominator(actualResults.GetDenominator() / second.GetNumerator());
            expectedResults.SetNumerator(actualResults.GetNumerator() / second.GetDenominator());

            // Compare
            if ((expectedResults.GetNumerator() == firstFraction.GetNumerator()) && (expectedResults.GetDenominator() == firstFraction.GetDenominator()))
            {
                return(true);
            }

            // if numerators are both 0, the value is 0
            else if ((expectedResults.GetNumerator() == 0) && (expectedResults.GetNumerator() == 0))
            {
                return(true);
            }

            else
            {
                // try reducing both fractions and check for failing
                expectedResults = fractionCalulator.ReducedFraction(expectedResults);
                firstFraction   = fractionCalulator.ReducedFraction(firstFraction);
                if ((expectedResults.GetNumerator() == firstFraction.GetNumerator()) && (expectedResults.GetDenominator() == firstFraction.GetDenominator()))
                {
                    return(true);
                }
            }
            return(false);
        }
        // Vetting the inverse of the results addition
        private bool CheckAddition(Fraction.Fraction first, Fraction.Fraction second)
        {
            // Saving the original data
            Fraction.Fraction firstFraction  = first;
            Fraction.Fraction secondFraction = second;
            System.Console.Write("\n" + fractionCalulator.ReducedFraction(firstFraction).GetNumerator().ToString() + '/' + fractionCalulator.ReducedFraction(firstFraction).GetDenominator().ToString()
                                 + " + " + fractionCalulator.ReducedFraction(secondFraction).GetNumerator().ToString() + '/' + fractionCalulator.ReducedFraction(secondFraction).GetDenominator().ToString());

            // Grab the results from the calculator,
            // MODIFY: Changing method to something else will produce failed test cases
            // Fraction.Fraction actualResults = fractionCalulator.Subtractive(first, second);
            Fraction.Fraction actualResults = fractionCalulator.Addition(first, second);
            System.Console.Write(" = " + fractionCalulator.ReducedFraction(actualResults).GetNumerator().ToString() + '/' + fractionCalulator.ReducedFraction(actualResults).GetDenominator().ToString());

            // Run the inverse function of the calculator to pull the expected results
            Fraction.Fraction expectedResult = fractionCalulator.Subtraction(actualResults, secondFraction);

            // Compare
            if ((expectedResult.GetNumerator() == firstFraction.GetNumerator()) && (expectedResult.GetDenominator() == firstFraction.GetDenominator()))
            {
                return(true);
            }
            // if numerators are both 0, the value is 0
            else if ((expectedResult.GetNumerator() == 0) && (expectedResult.GetNumerator() == 0))
            {
                return(true);
            }
            else
            {
                // try reducting both fractions and check for failing
                expectedResult = fractionCalulator.ReducedFraction(expectedResult);
                firstFraction  = fractionCalulator.ReducedFraction(firstFraction);
                if ((expectedResult.GetNumerator() == firstFraction.GetNumerator()) && (expectedResult.GetDenominator() == firstFraction.GetDenominator()))
                {
                    return(true);
                }
            }
            return(false);
        }
示例#25
0
        private static void Main(string[] args)
        {
            int number;

            Fraction.Fraction b1 = new Fraction.Fraction();
            Fraction.Fraction b2 = new Fraction.Fraction();
            Console.Write("Bitte ersten Nenner eingeben: ");
            b1.Numerator = Convert.ToInt32(Console.ReadLine());
            Console.Write("Bitte ersten Zähler eingeben: ");
            b1.Denominator = Convert.ToInt32(Console.ReadLine());
            Console.Write("Bitte zweiten Nenner eingeben: ");
            b2.Numerator = Convert.ToInt32(Console.ReadLine());
            Console.Write("Bitte zweiten Zähler eingeben: ");
            b2.Denominator = Convert.ToInt32(Console.ReadLine());

            /*ALTERNATIVE 1
             * Fraction.Fraction b3;
             * b3 = Fraction.Fraction.Add(b1, b2);
             * Console.WriteLine(b3.ConvertToString());
             * b3 = Fraction.Fraction.Sub(b1, b2);
             * Console.WriteLine(b3.ConvertToString());
             * ...
             * ...
             */
            /*ALTERNATIVE 2
             * Fraction.Fraction b3 = Fraction.Fraction.Add(b1, b2);
             * Console.WriteLine(b3.ConvertToString());
             * b3 = Fraction.Fraction.Sub(b1, b2);
             * Console.WriteLine(b3.ConvertToString());
             * ...
             * ...
             */
            Console.WriteLine("=====================================");
            Console.WriteLine(Fraction.Fraction.Add(b1, b2).ConvertToString());
            Console.WriteLine(Fraction.Fraction.Sub(b1, b2).ConvertToString());
            Console.WriteLine(Fraction.Fraction.Mult(b1, b2).ConvertToString());
            Console.WriteLine(Fraction.Fraction.Div(b1, b2).ConvertToString());
        }
 public void GetNumerator_SetNumerator_ShouldReturnSettedValue()
 {
     Fraction.Fraction fraction = new Fraction.Fraction();
     fraction.Numerator = 3;
     Assert.AreEqual(3, fraction.Numerator);
 }
 public void Add_NullOperand_ShouldReturnNull()
 {
     Fraction.Fraction fractionA = new Fraction.Fraction(3, 4);
     Fraction.Fraction result    = Fraction.Fraction.Add(fractionA, null);
     Assert.IsNull(result);
 }
 public AutomationFractionCalculator()
 {
     firstFraction     = new Fraction.Fraction();
     secondFraction    = new Fraction.Fraction();
     fractionCalulator = new FractionCalulator();
 }
 public void GetValue_InvalidDenominator_ShouldReturnMaxValue()
 {
     Fraction.Fraction fraction = new Fraction.Fraction();
     fraction.Numerator = 3;
     Assert.AreEqual(Double.MaxValue, fraction.GetValue(), 0.01);
 }
 public void IsValid_SetOnlyNumerator_ShouldReturnInvalid()
 {
     Fraction.Fraction fraction = new Fraction.Fraction();
     fraction.Numerator = 3;
     Assert.IsFalse(fraction.IsValid);
 }