Exemplo n.º 1
0
        public void ConstructorSuccess(SimplifiedRational rat, int n, int d)
        {
            int[] expected = Collapse(n, d);

            Assert.Equal(rat.Numerator, expected[0]);
            Assert.Equal(rat.Denominator, expected[1]);
        }
Exemplo n.º 2
0
        public void Invert(SimplifiedRational r, int n, int d)
        {
            RationalBase result = r.Invert();

            Assert.True(r != result);
            Assert.Equal(new SimplifiedRational(r.Denominator, r.Numerator), result);
        }
Exemplo n.º 3
0
        public void CheckToString(SimplifiedRational r, int num, int den)
        {
            int n = r.Numerator;
            int d = r.Denominator;

            Assert.Equal((n < 0 != d < 0 ? "-" : "") + Math.Abs(n) + "/" + Math.Abs(d), r.ToString());
        }
Exemplo n.º 4
0
        public void Negate(SimplifiedRational r, int n, int d)
        {
            RationalBase result = r.Negate();

            Assert.True(r != result);
            Assert.Equal(new SimplifiedRational(-n, d), result);
        }
Exemplo n.º 5
0
        public void ConstructSuccess(SimplifiedRational r, int n, int d)
        {
            SimplifiedRational newR = (SimplifiedRational)r.Construct(r.Numerator, r.Denominator);

            Assert.True(r != newR);
            Assert.Equal(r.Numerator, newR.Numerator);
            Assert.Equal(r.Denominator, newR.Denominator);
        }
        public static void Main(string[] args)
        {
            int num = -4;
            int den = 3;

            var rational = new SimplifiedRational(num, den);

            Console.WriteLine(rational.ToString());
        }
Exemplo n.º 7
0
        public void Div(SimplifiedRational r1, SimplifiedRational r2)
        {
            RationalBase result = r1.Div(r2);

            Assert.True(r1 != result && r2 != result);
            int n1 = r1.Numerator, d1 = r1.Denominator, n2 = r2.Numerator, d2 = r2.Denominator;

            Assert.Equal(new SimplifiedRational(n1 * d2, d1 * n2), result);
        }
Exemplo n.º 8
0
        public void CheckEquals(SimplifiedRational r1, int n, int d)
        {
            Assert.NotNull(r1);

            RationalBase r2 = r1.Construct(r1.Numerator, r1.Denominator).Mul(r1.Construct(2, 2));

            Assert.Equal(r1, r2);

            RationalBase r3 = r2.Construct(r2.Numerator * 3, r2.Denominator * 5).Mul(r2.Construct(3, 5));

            Assert.NotEqual(r1, r3);
            Assert.NotEqual(r2, r3);
        }
Exemplo n.º 9
0
 public void GcdSuccess(int a, int b)
 {
     Assert.Equal(SimplifiedRational.Gcd(a, b), Euclid(a, b));
 }
Exemplo n.º 10
0
 public void InvertFail(SimplifiedRational r, int n, int d)
 {
     Assert.Throws <InvalidOperationException>(() => new SimplifiedRational(0, d).Invert());
 }
Exemplo n.º 11
0
 public void GcdFailA(int a)
 {
     Assert.Throws <InvalidOperationException>(() => SimplifiedRational.Gcd(a < 0 ? a : -a, 0));
 }
Exemplo n.º 12
0
 public void ConstructFail(SimplifiedRational rat, int n, int d)
 {
     Assert.Throws <ArgumentException>(() => rat.Construct(rat.Numerator, 0));
 }
Exemplo n.º 13
0
 public void DivFail(SimplifiedRational r, int n, int d)
 {
     Assert.Throws <InvalidOperationException>(() => r.Div(null));
 }
Exemplo n.º 14
0
 public void SimplifySuccess(int n, int d)
 {
     Assert.Equal(new List <int>(Collapse(n, d)), new List <int>(SimplifiedRational.Simplify(n, d)));
 }
Exemplo n.º 15
0
 public void SimplifyFail(int n)
 {
     Assert.Throws <InvalidOperationException>(() => SimplifiedRational.Simplify(n, 0));
 }
Exemplo n.º 16
0
 public void DivZeroFail(SimplifiedRational r, int n, int d)
 {
     Assert.Throws <InvalidOperationException>(() => r.Div(new SimplifiedRational(0, 1)));
 }
Exemplo n.º 17
0
 public void GcdFailB(int b)
 {
     Assert.Throws <InvalidOperationException>(() => SimplifiedRational.Gcd(0, b < 0 ? b : -b));
 }