Exemplo n.º 1
0
        public void AngleOfReach_ReturnsCorrectResponseWhenNoAnglesExist()
        {
            //  arrange
            float speed        = 5;
            float targetHeight = -20;
            float distance     = 89.709227069098f;

            //  act
            float[] angles = PMath.AngleOfReach(speed, distance, targetHeight);

            //  assert
            Assert.AreEqual(Mathf.NegativeInfinity, angles[0]);
            Assert.AreEqual(Mathf.NegativeInfinity, angles[1]);
        }
Exemplo n.º 2
0
        public void AngleOfReach_ReturnsCorrectAngles()
        {
            //  prereq
            Approx_Works();

            //  arrange
            float speed        = 30;
            float angleLow     = 17.63152f;     //	deg
            float angleHigh    = 59.83967f;     //	deg
            float targetHeight = -20;
            float distance     = 90;

            //  act
            float[] angles = PMath.AngleOfReach(speed, distance, targetHeight);
            angles[0] *= Mathf.Rad2Deg;
            angles[1] *= Mathf.Rad2Deg;

            //  assert
            Assert.IsTrue(PMath.Approx(angleLow, angles[0], 5), "[0]: " + TestHelper.ShowVariables(angleLow, angles[0]));
            Assert.IsTrue(PMath.Approx(angleHigh, angles[1], 5), "[1]: " + TestHelper.ShowVariables(angleHigh, angles[1]));
        }