コード例 #1
0
 public void If_x_equals_y_then_y_equals_x(Rational x, Rational y)
 {
     Assert.True(x.Equals(y) == y.Equals(x));
     Assert.True(x.Equals((object)y) == y.Equals((object)x));
     Assert.True((x == y) == (y == x));
     Assert.True((x != y) == (y != x));
 }
コード例 #2
0
        public void Case6()
        {
            const long LIGHT_YEAR             = 5878625373183;
            Rational   altairDistance         = 17 * LIGHT_YEAR;
            Rational   epsilonIndiDistance    = 12 * LIGHT_YEAR;
            Rational   ursaeMajoris47Distance = 46 * LIGHT_YEAR;
            long       tauCetiDistance        = 12 * LIGHT_YEAR;
            ulong      procyon2Distance       = 12 * LIGHT_YEAR;
            object     wolf424ABDistance      = 14 * LIGHT_YEAR;

            Console.WriteLine("Approx. equal distances from Epsilon Indi to:");
            Console.WriteLine("   Altair: {0}",
                              epsilonIndiDistance.Equals(altairDistance));
            Console.WriteLine("   Ursae Majoris 47: {0}",
                              epsilonIndiDistance.Equals(ursaeMajoris47Distance));
            Console.WriteLine("   TauCeti: {0}",
                              epsilonIndiDistance.Equals(tauCetiDistance));
            Console.WriteLine("   Procyon 2: {0}",
                              epsilonIndiDistance.Equals(procyon2Distance));
            Console.WriteLine("   Wolf 424 AB: {0}",
                              epsilonIndiDistance.Equals(wolf424ABDistance));
            // The example displays the following output:
            //    Approx. equal distances from Epsilon Indi to:
            //       Altair: False
            //       Ursae Majoris 47: False
            //       TauCeti: True
            //       Procyon 2: True
            //       Wolf 424 AB: False
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: manukarpati/bench_training
        static void Main(string[] args)
        {
            int a = 2;
            int b = 7;
            int c = 5;
            int d = 10;

            Rational x = new Rational(a, b);
            Rational y = new Rational(c, d);
            Rational z = c;

            Console.WriteLine("x=" + x);
            Console.WriteLine("y=" + y);
            Console.WriteLine("z=" + z);

            Console.WriteLine("x is equals z?" + x.Equals(z));
            Console.WriteLine("x is equals x?" + x.Equals(x));
            Console.WriteLine("x compared to z?" + x.CompareTo(z));



            Console.WriteLine("x+y=" + (x + y));
            Console.WriteLine("y-x=" + (y - x));
            Console.WriteLine("x*y=" + (x * y));
            Console.WriteLine("x/y=" + (x / y));
            Console.WriteLine("-z=" + -z);

            Console.ReadKey();
        }
コード例 #4
0
 public void Rational_are_not_equal_if_different_values(Rational x, Rational y)
 {
     Assert.True(x != y);
     Assert.False(x == y);
     Assert.False(Equals(x, y));
     Assert.False(x.Equals(y));
     Assert.False(x.Equals((object)y));
     Assert.NotEqual(0, x.CompareTo(y));
 }
コード例 #5
0
 public void If_both_are_lte_then_they_are_equal(Rational x, Rational y)
 {
     if (x <= y && y <= x)
     {
         Assert.True(x.Equals(y));
         Assert.True(x.Equals((object)y));
         Assert.True(x == y);
         Assert.False(x != y);
         Assert.Equal(0, x.CompareTo(y));
     }
 }
コード例 #6
0
 public void Rational_are_equivalent_if_represent_the_same_value(Rational x, Rational y)
 {
     Assert.True(Equals(x, y));
     Assert.True(x == y);
     Assert.True(x >= y);
     Assert.True(x <= y);
     Assert.True(x.Equals(y));
     Assert.True(x.Equals((object)y));
     Assert.Equal(0, x.CompareTo(y));
     Assert.Equal(x.GetHashCode(), y.GetHashCode());
 }
コード例 #7
0
        public void Rational_is_equal_to_itself(Rational x)
        {
            var y = x;

            Assert.True(Equals(x, y));
            Assert.True(x == y);
            Assert.True(x >= y);
            Assert.True(x <= y);
            Assert.True(x.Equals(y));
            Assert.True(x.Equals((object)y));
            Assert.Equal(0, x.CompareTo(y));
        }
コード例 #8
0
            public void ShouldHandleFractionCorrectly()
            {
                var first  = new Rational(1.0 / 1600);
                var second = new Rational(1.0 / 1600, true);

                Assert.False(first.Equals(second));
            }
コード例 #9
0
        public void Fraction()
        {
            var first  = new Rational(1.0 / 1600);
            var second = new Rational(1.0 / 1600, true);

            Assert.False(first.Equals(second));
        }
コード例 #10
0
            public void ShouldReturnTrueWhenObjectIsEqual()
            {
                var first  = new Rational(3, 2);
                var second = new Rational(3, 2);

                Assert.True(first.Equals((object)second));
            }
コード例 #11
0
            public void ShouldReturnFalseWhenInstanceIsNotEqual()
            {
                var first  = new Rational(3, 2);
                var second = new Rational(2, 3);

                Assert.False(first.Equals(second));
            }
コード例 #12
0
ファイル: RationalTests.cs プロジェクト: jobily/Magick.NET
        public void Test_Fraction()
        {
            Rational first  = new Rational(1.0 / 1600);
            Rational second = new Rational(1.0 / 1600, true);

            Assert.IsFalse(first.Equals(second));
        }
コード例 #13
0
            public void ShouldReturnFalseWhenObjectIsNotEqual()
            {
                var first  = new Rational(3, 2);
                var second = new Rational(2, 3);

                Assert.False(first.Equals((object)second));
            }
コード例 #14
0
            public void ShouldReturnTrueWhenInstanceIsEqual()
            {
                var first  = new Rational(3, 2);
                var second = new Rational(3, 2);

                Assert.True(first.Equals(second));
            }
コード例 #15
0
        protected override IDataItem TestFunc(IDataItem p1, IDataItem p2)
        {
            var u = p1.ToRational().Value;
            var v = p2.ToInt64().Value;
            var w = Rational.Equals(u, v) ? 1U : 0U;

            return(new UInt32DataItem(w));
        }
コード例 #16
0
        public void Rational_is_not_equal_to_another_object()
        {
            var x = new Rational(1, 1);
            var y = (1, 1);

            Assert.False(Equals(x, y));
            Assert.False(x.Equals(y));
        }
コード例 #17
0
 public void Case7()
 {
     // The statement:
     //    bool comp = Int64.MaxValue == Int32.MaxValue;
     // produces compiler error CS0220: The operation overflows at compile time in checked mode.
     // The alternative:
     bool comp = Rational.Equals(Int64.MaxValue, Int32.MaxValue);
 }
コード例 #18
0
        public void Equals3()
        {
            // arrange
            var p = new Rational(4, 2);
            var q = new Rational(3, 2);

            // assert
            Assert.False(p.Equals(q));
        }
コード例 #19
0
        public void Equals1()
        {
            // arrange
            var       p = new Rational(4, 2);
            const int q = 2;

            // assert
            Assert.True(p.Equals(q));
        }
コード例 #20
0
        public void Equals2()
        {
            // arrange
            var          p = new Rational(4, 2);
            const string q = "hello";

            // assert
            // ReSharper disable once SuspiciousTypeConversion.Global
            Assert.False(p.Equals(q));
        }
コード例 #21
0
        public void RationalNumber_Equals()
        {
            //Arrange
            var  first          = new Rational(1, 2);
            var  second         = new Rational(1, 2);
            bool expectedResult = true;
            //Act
            bool result = first.Equals(second);

            //Assert
            Assert.AreEqual(expectedResult, result);
        }
コード例 #22
0
        public void RationalNumber_Equals_false()
        {
            //Arrange
            var  smaller        = new Rational(1, 2);
            var  bigger         = new Rational(5, 7);
            bool expectedResult = false;
            //Act
            bool result = smaller.Equals(bigger);

            //Assert
            Assert.AreEqual(expectedResult, result);
        }
コード例 #23
0
        public void SimplifyRationalNumber_SimplifyNumber_GetSimplified()
        {
            //arrange
            Rational expected = new Rational(3, 6);
            Rational actual   = new Rational(1, 2);

            //act
            expected.SimplifyRationalNumber();

            //assert
            Assert.AreEqual(expected, actual);
            Assert.IsTrue(actual.Equals(expected));
        }
コード例 #24
0
        public void Case1()
        {
            Rational rationalValue;
            decimal  decimalValue = 16.2m;

            rationalValue = new Rational(decimalValue);
            Console.WriteLine("{0} {1} = {2} {3} : {4}",
                              rationalValue.GetType().Name, rationalValue,
                              decimalValue.GetType().Name, decimalValue,
                              rationalValue.Equals(decimalValue));
            // The example displays the following output:
            //    Rational 16.2 = Decimal 16.2 : True
        }
コード例 #25
0
        public void RationalObjectNotEqual()
        {
            // Arrange
            var rat1 = new Rational(8, 6);
            var rat2 = new Rational(8, 7);

            // Act
            var eq1 = rat1.Equals(rat2);
            var eq2 = rat2.Equals(rat1);

            // Assert
            Assert.IsFalse(eq1);
            Assert.IsFalse(eq2);
        }
コード例 #26
0
        public void RationalObjectsEqualDR(int p1, int p2, int p3, int p4)
        {
            // Arrange
            var rat1 = new Rational(p1, p2);
            var rat2 = new Rational(p3, p4);

            // Act
            var eq1 = rat1.Equals(rat2);
            var eq2 = rat2.Equals(rat1);

            // Assert
            Assert.IsTrue(eq1);
            Assert.IsTrue(eq2);
        }
コード例 #27
0
        static void Test_Narrow()
        {
            Action <string> testNarrow = (text) => {
                string[] parts = text.Split(' ', StringSplitOptions.RemoveEmptyEntries);
                Rational r     = Rational.Parse(parts[0]);
                Rational b     = Rational.Parse(parts[1]);
                Rational exp   = Rational.Parse(parts[2]);
                Rational res   = NarrowUtils.MakeNarrow(r, b);
                Debug.WriteLine("{0,4} / base {1,-4} -> {2,-4} {3}", r, b, res,
                                res.Equals(exp) ? "Ok" : ("Expected " + exp.ToString()));
            };

            testNarrow("3 2     3/2");
            testNarrow("3 1/2   3/2");
            testNarrow("5 6     5/6");
        }
コード例 #28
0
ファイル: RationalTest.cs プロジェクト: gisdevelope/aegis
        public void RationalEqualityTest()
        {
            Rational rational = new Rational(1, 2);
            Rational equal    = new Rational(2, 4);
            Rational notEqual = new Rational(3, 1);

            // operators
            (rational == rational).ShouldBeTrue();
            (rational == equal).ShouldBeTrue();
            (rational == notEqual).ShouldBeFalse();

            (rational != equal).ShouldBeFalse();
            (rational != notEqual).ShouldBeTrue();

            // equality with rational
            rational.Equals(rational).ShouldBeTrue();
            rational.Equals(equal).ShouldBeTrue();
            rational.Equals(notEqual).ShouldBeFalse();

            // equality with object
            rational.Equals((Object)rational).ShouldBeTrue();
            rational.Equals((Object)equal).ShouldBeTrue();
            rational.Equals((Object)notEqual).ShouldBeFalse();
            rational.Equals(null).ShouldBeFalse();
            rational.Equals(new Object()).ShouldBeFalse();
            Rational.Zero.Equals(new Object()).ShouldBeFalse();
            Rational.Zero.Equals(0).ShouldBeTrue();
            Rational.MinValue.Equals(Int64.MinValue).ShouldBeTrue();
            Rational.MaxValue.Equals(Int64.MaxValue).ShouldBeTrue();

            // extrema
            Rational positiveInfinity = new Rational(10, 0);

            positiveInfinity.Equals(Rational.PositiveInfinity).ShouldBeTrue();

            Rational negativeInfinity = new Rational(-10, 0);

            negativeInfinity.Equals(Rational.NegativeInfinity).ShouldBeTrue();

            Rational.PositiveInfinity.Equals(Rational.PositiveInfinity).ShouldBeTrue();
            Rational.NegativeInfinity.Equals(Rational.NegativeInfinity).ShouldBeTrue();
            Rational.NaN.Equals(Rational.NaN).ShouldBeTrue();
        }
コード例 #29
0
ファイル: Program.cs プロジェクト: noamori25/Test1505
        static void Main(string[] args)
        {
            Rational r  = new Rational(8, 7);
            Rational r1 = new Rational(9, 0);
            Rational r2 = new Rational(-3, 3);

            Console.WriteLine(r2);
            Console.WriteLine(r1);

            Rational r3 = new Rational(1, 2);
            Rational r4 = new Rational(1, 2);

            Console.WriteLine(r3);
            Console.WriteLine(r4);

            Console.WriteLine(r3.GreaterThen(r4));
            Console.WriteLine(r3.Equals(r4));
            Console.WriteLine(r3 + r4);
            Console.WriteLine(r3 - r4);
            Console.WriteLine(r3 * r4);
        }
コード例 #30
0
        public void Case6()
        {
            int[]    integers = { Int32.MinValue, -10534, -189, 0, 17, 113439,
                                  Int32.MaxValue };
            Rational constructed, assigned;

            foreach (int number in integers)
            {
                constructed = new Rational(number);
                assigned    = number;
                Console.WriteLine("{0} = {1}: {2}", constructed, assigned,
                                  constructed.Equals(assigned));
            }
            // The example displays the following output:
            //       -2147483648 = -2147483648: True
            //       -10534 = -10534: True
            //       -189 = -189: True
            //       0 = 0: True
            //       17 = 17: True
            //       113439 = 113439: True
            //       2147483647 = 2147483647: True
        }
コード例 #31
0
ファイル: RationalTests.cs プロジェクト: dlemstra/Magick.NET
    public void Test_IEquatable()
    {
      Rational first = new Rational(3, 2);

      Assert.IsFalse(first.Equals(null));
      Assert.IsTrue(first.Equals(first));
      Assert.IsTrue(first.Equals((object)first));

      Rational second = new Rational(3, 2);

      Assert.IsTrue(first == second);
      Assert.IsTrue(first.Equals(second));
      Assert.IsTrue(first.Equals((object)second));

      second = new Rational(2, 3);

      Assert.IsTrue(first != second);
      Assert.IsFalse(first.Equals(second));
    }
コード例 #32
0
ファイル: RationalTests.cs プロジェクト: dlemstra/Magick.NET
 public void Test_Fraction()
 {
   Rational first = new Rational(1.0 / 1600);
   Rational second = new Rational(1.0 / 1600, true);
   Assert.IsFalse(first.Equals(second));
 }