diff options
Diffstat (limited to 'mcs/tests/test-125.cs')
-rw-r--r-- | mcs/tests/test-125.cs | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/mcs/tests/test-125.cs b/mcs/tests/test-125.cs deleted file mode 100644 index 51217ef2697..00000000000 --- a/mcs/tests/test-125.cs +++ /dev/null @@ -1,100 +0,0 @@ -using System; - -public class Fraction { - - public Fraction(int numerator, int denominator) { - Console.WriteLine("In Fraction Constructor(int, int)"); - this.numerator = numerator; - this.denominator = denominator; - } - - public Fraction(int wholeNumber) { - Console.WriteLine("In Fraction Constructor(int)"); - numerator = wholeNumber; - denominator = 1; - } - - // this function is not recognised by mcs further down - public static implicit operator Fraction(int theInt) { - Console.WriteLine("In implicit conversion to Fraction"); - return new Fraction(theInt); - } - - public static explicit operator int(Fraction theFraction) { - Console.WriteLine("In explicit conversion to int"); - return theFraction.numerator / - theFraction.denominator; - } - - public static bool operator==(Fraction lhs, Fraction rhs) { - Console.WriteLine("In operator =="); - if (lhs.denominator == rhs.denominator && - lhs.numerator == rhs.numerator) { - return true; - } - // code here to handle unlike fraction - return false; - } - - public static bool operator!=(Fraction lhs, Fraction rhs) { - Console.WriteLine("In operator !="); - return !(lhs == rhs); - } - - public override bool Equals(object o) { - Console.WriteLine("In method Equals"); - if (! (o is Fraction)) { - return false; - } - return this == (Fraction) o; - } - - public static Fraction operator+(Fraction lhs, Fraction rhs) { - Console.WriteLine("In operator +"); - if (lhs.denominator == rhs.denominator) { - return new Fraction(lhs.numerator + rhs.numerator, - lhs.denominator); - } - - // simplistic solution for unlike fractions - // 1/2 + 3/4 == (1*4) + (3*2) / (2*4) == 10/8 - int firstProduct = lhs.numerator * rhs.denominator; - int secondProduct = lhs.denominator * rhs.numerator; - return new Fraction( - firstProduct + secondProduct, - lhs.denominator * rhs.denominator); - } - - public override string ToString() { - String s = numerator.ToString() + "/" + - denominator.ToString(); - return s; - } - - private int numerator; - private int denominator; -} - -public class Tester { - public static int Main() { - - Fraction f1 = new Fraction(3,4); - Console.WriteLine("f1: {0}", f1.ToString()); - - Fraction f2 = new Fraction(2,4); - Console.WriteLine("f2: {0}", f2.ToString()); - - Fraction f3 = f1 + f2; - Console.WriteLine("f1 + f2 = f3: {0}", f3.ToString()); - - Fraction f4 = f3 + 5; - Console.WriteLine("f3 + 5 = f4: {0}", f4.ToString()); - - Fraction f5 = new Fraction(2, 4); - if (f5 == f2) - Console.WriteLine("f5: {0} == f2: {1}", f5.ToString(), f2.ToString()); - - - return 0; - } -} |