public void TPDPartialUpdateDataTest() { TestTrackedPoseDriverWrapper tpd = CreateGameObjectWithTPD(); BasePoseProvider pp = CreatePoseProviderOnTPD(tpd); TestPoseProvider tpp = pp as TestPoseProvider; Assert.That(tpd.poseProviderComponent, Is.EqualTo(pp)); tpp.flags = PoseDataFlags.Position; tpd.FakeUpdate(); Assert.That(tpd.gameObject.transform.position, Is.EqualTo(testpos)); Assert.That(!tpd.gameObject.transform.rotation.Equals(testrot)); Reset(tpd.gameObject); tpp.flags = PoseDataFlags.Rotation; tpd.FakeUpdate(); Assert.That(tpd.gameObject.transform.position, Is.Not.EqualTo(testpos)); Assert.That(tpd.gameObject.transform.rotation.Equals(testrot)); Reset(tpd.gameObject); tpp.flags = PoseDataFlags.Position | PoseDataFlags.Rotation; tpd.FakeUpdate(); Assert.That(tpd.gameObject.transform.position, Is.EqualTo(testpos)); Assert.That(tpd.gameObject.transform.rotation.Equals(testrot)); }
internal static BasePoseProvider CreatePoseProviderOnTPD(TestTrackedPoseDriverWrapper tpd) { TestPoseProvider tpp = tpd.gameObject.AddComponent <TestPoseProvider>(); tpd.poseProviderComponent = tpp; return(tpp); }
internal static TestTrackedPoseDriverWrapper CreateGameObjectWithTPD() { GameObject go = new GameObject(); TestTrackedPoseDriverWrapper tpd = go.AddComponent <TestTrackedPoseDriverWrapper>(); return(tpd); }
public void TPDPoseProviderTest() { TestTrackedPoseDriverWrapper tpd = CreateGameObjectWithTPD(); BasePoseProvider pp = CreatePoseProviderOnTPD(tpd); Assert.That(tpd.poseProviderComponent, Is.EqualTo(pp)); tpd.FakeUpdate(); Assert.That(tpd.gameObject.transform.position, Is.EqualTo(testpos)); Assert.That(tpd.gameObject.transform.rotation.Equals(testrot)); }
public void TPDApiSetTest() { TestTrackedPoseDriverWrapper tpd = CreateGameObjectWithTPD(); bool ret = tpd.SetPoseSource(TrackedPoseDriver.DeviceType.GenericXRDevice, TrackedPoseDriver.TrackedPose.Head); Assert.That(ret, Is.EqualTo(true)); Assert.That(tpd.poseSource, Is.EqualTo(TrackedPoseDriver.TrackedPose.Head)); ret = tpd.SetPoseSource(TrackedPoseDriver.DeviceType.GenericXRDevice, TrackedPoseDriver.TrackedPose.LeftPose); Assert.That(ret, Is.EqualTo(false)); Assert.That(tpd.poseSource, Is.EqualTo(TrackedPoseDriver.TrackedPose.Head)); ret = tpd.SetPoseSource(TrackedPoseDriver.DeviceType.GenericXRController, TrackedPoseDriver.TrackedPose.RightPose); Assert.That(ret, Is.EqualTo(true)); Assert.That(tpd.poseSource, Is.EqualTo(TrackedPoseDriver.TrackedPose.RightPose)); }
public void TPDUpdateOptionTest() { TestTrackedPoseDriverWrapper tpd = CreateGameObjectWithTPD(); BasePoseProvider pp = CreatePoseProviderOnTPD(tpd); Assert.That(tpd.poseProviderComponent, Is.EqualTo(pp)); // check the update/before render case tpd.updateType = TrackedPoseDriver.UpdateType.BeforeRender; tpd.trackingType = TrackedPoseDriver.TrackingType.RotationAndPosition; Reset(tpd.gameObject); tpd.FakeUpdate(); Assert.That(tpd.gameObject.transform.position, Is.Not.EqualTo(testpos)); Assert.That(!tpd.gameObject.transform.rotation.Equals(testrot)); tpd.FakeOnBeforeRender(); Assert.That(tpd.gameObject.transform.position, Is.EqualTo(testpos)); Assert.That(tpd.gameObject.transform.rotation.Equals(testrot)); Reset(tpd.gameObject); tpd.updateType = TrackedPoseDriver.UpdateType.Update; tpd.trackingType = TrackedPoseDriver.TrackingType.RotationAndPosition; tpd.FakeOnBeforeRender(); Assert.That(tpd.gameObject.transform.position, Is.Not.EqualTo(testpos)); Assert.That(!tpd.gameObject.transform.rotation.Equals(testrot)); tpd.FakeUpdate(); Assert.That(tpd.gameObject.transform.position, Is.EqualTo(testpos)); Assert.That(tpd.gameObject.transform.rotation.Equals(testrot)); // check the rot/pos case tpd.updateType = TrackedPoseDriver.UpdateType.UpdateAndBeforeRender; tpd.trackingType = TrackedPoseDriver.TrackingType.PositionOnly; Reset(tpd.gameObject); tpd.FakeUpdate(); Assert.That(tpd.gameObject.transform.position, Is.EqualTo(testpos)); Assert.That(!tpd.gameObject.transform.rotation.Equals(testrot)); tpd.trackingType = TrackedPoseDriver.TrackingType.RotationOnly; Reset(tpd.gameObject); tpd.FakeUpdate(); Assert.That(tpd.gameObject.transform.position, Is.Not.EqualTo(testpos)); Assert.That(tpd.gameObject.transform.rotation.Equals(testrot)); }