From 69739426f1c885af0ddd2dfdc216653fe7a039d0 Mon Sep 17 00:00:00 2001 From: Tom Erez Date: Sun, 1 Jan 2023 20:01:07 -0800 Subject: [PATCH] Use scalar Angle to compare quaternions. The Vector4 comparator couldn't know that q==-q. PiperOrigin-RevId: 498947861 Change-Id: Ife9efeb369c794eedbef80829e40057794a334ee --- unity/Tests/Runtime/MjSensorPlayTests.cs | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/unity/Tests/Runtime/MjSensorPlayTests.cs b/unity/Tests/Runtime/MjSensorPlayTests.cs index fae6dade..beb17ef0 100644 --- a/unity/Tests/Runtime/MjSensorPlayTests.cs +++ b/unity/Tests/Runtime/MjSensorPlayTests.cs @@ -93,7 +93,6 @@ public class MjSensorPlayTests { yield return new WaitForFixedUpdate(); // updating the transform yield return new WaitForFixedUpdate(); // updating the transform var vecComparer = new Vector3EqualityComparer(1e-4f); - var quatComparer = new Vector4EqualityComparer(1e-4f); Assert.That( _siteVectorSensor.SensorReading, Is.EqualTo(_site.transform.position).Using(vecComparer)); @@ -105,17 +104,17 @@ public class MjSensorPlayTests { Is.EqualTo(_body.transform.position).Using(vecComparer)); Assert.That( - _siteQuatSensor0.SensorReading, - Is.EqualTo(_site.transform.rotation.normalized).Using(quatComparer)); + Quaternion.Angle(_siteQuatSensor0.SensorReading, _site.transform.rotation.normalized), + Is.EqualTo(0).Within(1e-3)); Assert.That( - _siteQuatSensor.SensorReading, - Is.EqualTo(_site.transform.rotation.normalized).Using(quatComparer)); + Quaternion.Angle(_siteQuatSensor.SensorReading, _site.transform.rotation.normalized), + Is.EqualTo(0).Within(1e-3)); Assert.That( - _geomQuatSensor.SensorReading, - Is.EqualTo(_geom.transform.rotation.normalized).Using(quatComparer)); + Quaternion.Angle(_geomQuatSensor.SensorReading, _geom.transform.rotation.normalized), + Is.EqualTo(0).Within(1e-3)); Assert.That( - _bodyQuatSensor.SensorReading, - Is.EqualTo(_body.transform.rotation.normalized).Using(quatComparer)); + Quaternion.Angle(_bodyQuatSensor.SensorReading, _body.transform.rotation.normalized), + Is.EqualTo(0).Within(1e-3)); } } }