Equals() публичный Метод

public Equals ( object other ) : bool
other object
Результат bool
Пример #1
0
        public void Matrix3x3EqualsTest()
        {
            Matrix3x3 a = GenerateIncrementalMatrixNumber();
            Matrix3x3 b = GenerateIncrementalMatrixNumber();

            // case 1: compare between same values
            object?obj = b;

            bool expected = true;
            bool actual   = a.Equals(obj);

            Assert.AreEqual(expected, actual);

            // case 2: compare between different values
            b.M11    = 11.0f;
            obj      = b;
            expected = false;
            actual   = a.Equals(obj);
            Assert.AreEqual(expected, actual);

            // case 3: compare between different types.
            obj      = new Vector4();
            expected = false;
            actual   = a.Equals(obj);
            Assert.AreEqual(expected, actual);

            // case 3: compare against null.
            obj      = null;
            expected = false;
            actual   = a.Equals(obj);
            Assert.AreEqual(expected, actual);
        }
Пример #2
0
        public void Matrix3x3EqualsTest1()
        {
            Matrix3x3 a = GenerateIncrementalMatrixNumber();
            Matrix3x3 b = GenerateIncrementalMatrixNumber();

            // case 1: compare between same values
            bool expected = true;
            bool actual   = a.Equals(b);

            Assert.AreEqual(expected, actual);

            // case 2: compare between different values
            b.M11    = 11.0f;
            expected = false;
            actual   = a.Equals(b);
            Assert.AreEqual(expected, actual);
        }
Пример #3
0
        public void TestEquals()
        {
            Matrix3x3 m1 = new Matrix3x3(1.0f, 2.0f, 3.0f, 0.0f, -5.0f, .5f, .3f, .35f, .025f);
            Matrix3x3 m2 = new Matrix3x3(1.0f, 2.0f, 3.0f, 0.0f, -5.0f, .5f, .3f, .35f, .025f);
            Matrix3x3 m3 = new Matrix3x3(0.0f, 2.0f, 25.0f, 1.0f, 5.0f, 5.5f, 1.25f, 8.5f, 2.25f);

            //Test IEquatable Equals
            Assert.IsTrue(m1.Equals(m2), "Test IEquatable equals");
            Assert.IsFalse(m1.Equals(m3), "Test IEquatable equals");

            //Test object equals override
            Assert.IsTrue(m1.Equals((object)m2), "Tests object equals");
            Assert.IsFalse(m1.Equals((object)m3), "Tests object equals");

            //Test op equals
            Assert.IsTrue(m1 == m2, "Testing OpEquals");
            Assert.IsFalse(m1 == m3, "Testing OpEquals");

            //Test op not equals
            Assert.IsTrue(m1 != m3, "Testing OpNotEquals");
            Assert.IsFalse(m1 != m2, "Testing OpNotEquals");
        }
Пример #4
0
        public void TestEquals()
        {
            Matrix3x3 m1 = new Matrix3x3(1.0f, 2.0f, 3.0f, 0.0f, -5.0f, .5f, .3f, .35f, .025f);
            Matrix3x3 m2 = new Matrix3x3(1.0f, 2.0f, 3.0f, 0.0f, -5.0f, .5f, .3f, .35f, .025f);
            Matrix3x3 m3 = new Matrix3x3(0.0f, 2.0f, 25.0f, 1.0f, 5.0f, 5.5f, 1.25f, 8.5f, 2.25f);

            //Test IEquatable Equals
            Assert.IsTrue(m1.Equals(m2), "Test IEquatable equals");
            Assert.IsFalse(m1.Equals(m3), "Test IEquatable equals");

            //Test object equals override
            Assert.IsTrue(m1.Equals((object) m2), "Tests object equals");
            Assert.IsFalse(m1.Equals((object) m3), "Tests object equals");

            //Test op equals
            Assert.IsTrue(m1 == m2, "Testing OpEquals");
            Assert.IsFalse(m1 == m3, "Testing OpEquals");

            //Test op not equals
            Assert.IsTrue(m1 != m3, "Testing OpNotEquals");
            Assert.IsFalse(m1 != m2, "Testing OpNotEquals");
        }
Пример #5
0
        public void Test_Equals()
        {
            var delta = 0.00001f;
            var a = new Matrix3x3 (1, 1, 1,
                                   1, 1, 1,
                                   1, 1, 1);
            var b = new Matrix3x3 (1 + delta, 1 + delta, 1 + delta,
                                   1 + delta, 1 + delta, 1 + delta,
                                   1 + delta, 1 + delta, 1 + delta);

            Assert.IsTrue (a.Equals (b));                            // 誤差許容
            Assert.IsFalse (a == b);                                 // 厳密な比較
            Assert.IsFalse (a.GetHashCode () == b.GetHashCode ());   // 厳密な比較に基づくハッシュ値
        }
Пример #6
0
        public void Matrix3x3EqualsNanTest()
        {
            Matrix3x3 a = new Matrix3x3(float.NaN, 0, 0, 0, 0, 0, 0, 0, 0);
            Matrix3x3 b = new Matrix3x3(0, float.NaN, 0, 0, 0, 0, 0, 0, 0);
            Matrix3x3 c = new Matrix3x3(0, 0, float.NaN, 0, 0, 0, 0, 0, 0);
            Matrix3x3 d = new Matrix3x3(0, 0, 0, float.NaN, 0, 0, 0, 0, 0);
            Matrix3x3 e = new Matrix3x3(0, 0, 0, 0, float.NaN, 0, 0, 0, 0);
            Matrix3x3 f = new Matrix3x3(0, 0, 0, 0, 0, float.NaN, 0, 0, 0);
            Matrix3x3 g = new Matrix3x3(0, 0, 0, 0, 0, 0, float.NaN, 0, 0);
            Matrix3x3 h = new Matrix3x3(0, 0, 0, 0, 0, 0, 0, float.NaN, 0);
            Matrix3x3 i = new Matrix3x3(0, 0, 0, 0, 0, 0, 0, 0, float.NaN);

            Assert.False(a == new Matrix3x3());
            Assert.False(b == new Matrix3x3());
            Assert.False(c == new Matrix3x3());
            Assert.False(d == new Matrix3x3());
            Assert.False(e == new Matrix3x3());
            Assert.False(f == new Matrix3x3());
            Assert.False(g == new Matrix3x3());
            Assert.False(h == new Matrix3x3());
            Assert.False(i == new Matrix3x3());

            Assert.True(a != new Matrix3x3());
            Assert.True(b != new Matrix3x3());
            Assert.True(c != new Matrix3x3());
            Assert.True(d != new Matrix3x3());
            Assert.True(e != new Matrix3x3());
            Assert.True(f != new Matrix3x3());
            Assert.True(g != new Matrix3x3());
            Assert.True(h != new Matrix3x3());
            Assert.True(i != new Matrix3x3());

            Assert.False(a.Equals(new Matrix3x3()));
            Assert.False(b.Equals(new Matrix3x3()));
            Assert.False(c.Equals(new Matrix3x3()));
            Assert.False(d.Equals(new Matrix3x3()));
            Assert.False(e.Equals(new Matrix3x3()));
            Assert.False(f.Equals(new Matrix3x3()));
            Assert.False(g.Equals(new Matrix3x3()));
            Assert.False(h.Equals(new Matrix3x3()));
            Assert.False(i.Equals(new Matrix3x3()));

            Assert.False(a.IsIdentity);
            Assert.False(b.IsIdentity);
            Assert.False(c.IsIdentity);
            Assert.False(d.IsIdentity);
            Assert.False(e.IsIdentity);
            Assert.False(f.IsIdentity);
            Assert.False(g.IsIdentity);
            Assert.False(h.IsIdentity);
            Assert.False(i.IsIdentity);

            // Counterintuitive result - IEEE rules for NaN comparison are weird!
            Assert.False(a.Equals(a));
            Assert.False(b.Equals(b));
            Assert.False(c.Equals(c));
            Assert.False(d.Equals(d));
            Assert.False(e.Equals(e));
            Assert.False(f.Equals(f));
            Assert.False(g.Equals(g));
            Assert.False(h.Equals(h));
            Assert.False(i.Equals(i));
        }