public IEnumerator SetLocalPosRot_UsingProperties_ExpectCorrectLocalPosRotRelativeToAnchor() { var(goRoot_0, goRoot_0_0) = createStub(MethodBase.GetCurrentMethod()); goRoot_0.transform.localPosition = new Vector3(1, 2, 3); var tfLink = goRoot_0_0.GetComponent <AnchorTransform>(); var anchor = tfLink.AnchorOverride; var parent = goRoot_0_0.transform.parent; var tfExpected = new GameObject("expected transform").transform; tfExpected.parent = tfLink.AnchorOverride; var n = 100; for (var i = 0; i < n; i++) { var pose = GetSamplePose(i, n); tfLink.localPosition = pose.position; tfLink.localRotation = pose.rotation; tfExpected.parent = anchor; tfExpected.position = pose.position; tfExpected.rotation = pose.rotation; tfExpected.parent = parent; yield return(null); //skip a frame to trigger update values //Assert.AreEqual( tfExpected.localRotation.eulerAngles, goRoot_0_0.transform.localRotation.eulerAngles ); Asserts.AreApproximatelyEqual(tfExpected.localPosition, goRoot_0_0.transform.localPosition); Asserts.AreApproximatelyEqual(tfExpected.localRotation, goRoot_0_0.transform.localRotation); } }
public IEnumerator SetLocalPosRot_UsingAnimationClip_ExpectCorrectPosRot() { var(_, gameObject) = createStub(MethodBase.GetCurrentMethod()); var n = 100; var clip = CreateSamplePosesAnimationClip(n); for (var i = 0; i < n; i++) { clip.SampleAnimation(gameObject, i); var pose = GetSamplePose(i, n); yield return(null); //skip a frame to trigger update values Asserts.AreApproximatelyEqual(pose.position, gameObject.transform.localPosition); Asserts.AreApproximatelyEqual(pose.rotation, gameObject.transform.localRotation); } }