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); }
public bool Equals(Circle other) { return(center.Equals(other.center) && radius == other.radius); }