Esempio n. 1
0
        //This test is known to be failing. Disabled until double-mathematics algorithm implementation
        public void MeasureToolTests_FloatPrecision()
        {
            var precision = 0.01f; //claimed precision is 0.01
            var x         = 999999.9f;
            var position1 = new Vector3(x, 0, 0);
            var position2 = new Vector3(precision * 2, 0, 0);

            var anchor1 = GetPointAnchor(position1, Vector3.up);
            var anchor2 = GetPointAnchor(position2, Vector3.up);

            var distance = RawMeasure.GetDistanceBetweenAnchors(anchor1, anchor2);

            Assert.AreNotEqual(distance, x);
            Assert.IsTrue(Mathf.Approximately(position1.x - position2.x, distance));
        }
Esempio n. 2
0
        void AssertCalculation(PointAnchor anchor1, PointAnchor anchor2, System.Action <float> assertDelegate)
        {
            var distance = RawMeasure.GetDistanceBetweenAnchors(anchor1, anchor2);

            var position1 = anchor1.position;
            var normal1   = anchor1.normal;
            var position2 = anchor2.position;
            var normal2   = anchor2.normal;

            try
            {
                assertDelegate?.Invoke(distance);
            }
            catch (AssertionException e)
            {
                var msg = e.Message +
                          $"Anchors are:\nposition1:{position1.x}, {position1.y}, {position1.z};\nnormal1:{normal1.x}, {normal1.y}, {normal1.z};" +
                          $"\nposition2:{position2.x}, {position2.y}, {position2.z};\nnormal2:{normal2.x}, {normal2.y}, {normal2.z}";

                throw new AssertionException(msg, e);
            }
        }