Пример #1
0
        public void EquatableTest()
        {
            var ps = Enumerable.Repeat(0, 10).Select(_ => new f2(UR.value, UR.value)).ToArray();
            var a  = new f2(0, 0);
            var b  = new f2(1, 0);
            var c  = new f2(0, 1);
            var d  = new f2(1, 1);
            var e  = new f2(2, 0);
            var f  = new f2(0, 2);
            var g  = new f2(2, 2);

            Debug.Log("f2: " + Marshal.SizeOf(a));
            Debug.Log("sg: " + Marshal.SizeOf(new SG(a, b)));
            Debug.Log("tr: " + Marshal.SizeOf(new TR(a, b, c)));

            // primitive
            Assert.IsFalse(a.Equals(b));
            Assert.IsFalse(a.Equals(c));
            Assert.IsTrue(a.Equals(a));

            // circle
            var c1 = new Circle(d, 1);
            var c2 = new Circle(d, 1);
            var c3 = new Circle(d, 2);

            Assert.IsTrue(c1 == c2);
            Assert.IsTrue(c1 != c3);

            // segment
            var s1 = new SG(a, b);
            var s2 = new SG(b, a);
            var s3 = new SG(c, a);

            Assert.IsTrue(s1 == s2);
            Assert.IsTrue(s1 != s3);

            // triangle
            var t1 = new TR(a, b, c);
            var t2 = new TR(a, c, b);
            var t3 = new TR(b, c, a);

            Assert.IsTrue(t1 == t2);
            Assert.IsTrue(t1 == t3);
        }
Пример #2
0
 public bool Equals(Circle other)
 {
     return(center.Equals(other.center) && radius == other.radius);
 }