Esempio n. 1
0
 public void TestGetHashCode()
 {
     {
         Vector2 a = new Vector2(10, 11);
         Vector2 b = new Vector2(10, 11);
         Assert.IsTrue(a.GetHashCode() == b.GetHashCode());
     }
     {
         Vector3 a = new Vector3(10, 11, 12);
         Vector3 b = new Vector3(10, 11, 12);
         Assert.IsTrue(a.GetHashCode() == b.GetHashCode());
     }
     {
         Vector4 a = new Vector4(10, 11, 12, 13);
         Vector4 b = new Vector4(10, 11, 12, 13);
         Assert.IsTrue(a.GetHashCode() == b.GetHashCode());
     }
     {
         Quaternion a = new Quaternion(10, 11, 12, 13);
         Quaternion b = new Quaternion(10, 11, 12, 13);
         Assert.IsTrue(a.GetHashCode() == b.GetHashCode());
     }
     {
         Matrix4X4 a = Matrix4X4.CreateRotationX(3);
         Matrix4X4 b = Matrix4X4.CreateRotationX(3);
         Assert.IsTrue(a.GetHashCode() == b.GetHashCode());
     }
 }
Esempio n. 2
0
        public void Test_Equals()
        {
            var a = new Vector2 (1, 2.00001f);
            var b = new Vector2 (1, 2.00002f);

            Assert.IsTrue (a.Equals (b));   // 誤差を許容する比較
            Assert.IsFalse (a == b);        // 厳密な比較
            Assert.AreNotEqual (a.GetHashCode (), b.GetHashCode ()); // ハッシュは厳密な比較を基準
        }
        private static KeyValuePair<Vector2, Vector2> OrderByHash(Vector2 a, Vector2 b)
        {
            var ah = a.GetHashCode();
            var bh = b.GetHashCode();

            //Check order
            if (ah < bh)
                return new KeyValuePair<Vector2, Vector2>(a, b);
            else
                return new KeyValuePair<Vector2, Vector2>(b, a);
        }
Esempio n. 4
0
        public void Vector2GetHashCodeTest()
        {
            Vector2 target = new Vector2(1.0f, 2.0f);

            int expected = target.X.GetHashCode() + target.Y.GetHashCode();
            int actual;

            actual = target.GetHashCode();

            Assert.AreEqual(expected, actual, "Vector2.GetHashCode did not return the expected value.");
        }