public void CalcOverlapAreaTest() { var bounds0 = new Bounds(Vector3.zero, Vector3.zero); var bounds1 = new Bounds(Vector3.one * 0.5f, Vector3.one); var bounds2 = new Bounds(Vector3.one, Vector3.one); var bounds3 = new Bounds(Vector3.one * 2.5f, Vector3.one * 3f); Assert.AreEqual(0, bounds0.CalcOverlapArea(bounds0)); Assert.AreEqual(0, bounds0.CalcOverlapArea(bounds1)); Assert.AreEqual(0, bounds1.CalcOverlapArea(bounds3)); Assert.AreEqual(1f, bounds1.CalcOverlapArea(bounds1)); Assert.AreEqual(0.25f, bounds1.CalcOverlapArea(bounds2), 1e-6f); Assert.AreEqual(0.25f, bounds2.CalcOverlapArea(bounds3), 1e-6f); }