public void GetSupportPoint() { Assert.AreEqual(new Vector3(0, 0, 0), new MinkowskiSumShape().GetSupportPoint(new Vector3(1, 0, 0))); Assert.AreEqual(new Vector3(0, 0, 0), new MinkowskiSumShape().GetSupportPoint(new Vector3(0, 1, 0))); Assert.AreEqual(new Vector3(0, 0, 0), new MinkowskiSumShape().GetSupportPoint(new Vector3(0, 0, 1))); Assert.AreEqual(new Vector3(0, 0, 0), new MinkowskiSumShape().GetSupportPoint(new Vector3(1, 1, 1))); Assert.IsTrue(Vector3.AreNumericallyEqual(new Vector3(3, -5, 0), cs.GetSupportPoint(new Vector3(1, -1, 0)))); Assert.IsTrue(Vector3.AreNumericallyEqual(new Vector3(3, 5, 0), cs.GetSupportPoint(new Vector3(1, 1, 0)))); Assert.IsTrue(Vector3.AreNumericallyEqual(new Vector3(0, -5, 3), cs.GetSupportPoint(new Vector3(0, 0, 1)))); Assert.IsTrue(Vector3.AreNumericallyEqual(new Vector3(-3, -5, 0), cs.GetSupportPoint(new Vector3(-1, 0, 0)))); Assert.IsTrue(Vector3.AreNumericallyEqual(new Vector3(3, -5, 0), cs.GetSupportPoint(new Vector3(0, -1, 0)))); Assert.IsTrue(Vector3.AreNumericallyEqual(new Vector3(0, -5, -3), cs.GetSupportPoint(new Vector3(0, 0, -1)))); Assert.IsTrue(Vector3.AreNumericallyEqual(new Vector3(0, 5, 0) + 3 * new Vector3(1, 0, 1).Normalized, cs.GetSupportPoint(new Vector3(1, 1, 1)))); Assert.IsTrue(Vector3.AreNumericallyEqual(new Vector3(0, -5, 0) + 3 * new Vector3(-1, 0, -1).Normalized, cs.GetSupportPoint(new Vector3(-1, -1, -1)))); }