@@ -330,66 +330,6 @@ def emit(self, msg: dict):
330
330
assert torch .allclose (out2 , expected , atol = 1e-5 )
331
331
332
332
333
- """
334
- Test OpenXR devices.
335
- """
336
-
337
-
338
- def test_openxr_constructors (mock_environment , mocker ):
339
- """Test constructor for OpenXRDevice."""
340
- # Test config-based constructor with custom XrCfg
341
- xr_cfg = XrCfg (
342
- anchor_pos = (1.0 , 2.0 , 3.0 ),
343
- anchor_rot = (0.0 , 0.1 , 0.2 , 0.3 ),
344
- near_plane = 0.2 ,
345
- )
346
- config = OpenXRDeviceCfg (xr_cfg = xr_cfg )
347
-
348
- # Create mock retargeters
349
- mock_controller_retargeter = mocker .MagicMock ()
350
- mock_head_retargeter = mocker .MagicMock ()
351
- retargeters = [mock_controller_retargeter , mock_head_retargeter ]
352
-
353
- device_mod = importlib .import_module ("isaaclab.devices.openxr.openxr_device" )
354
- mocker .patch .dict (
355
- "sys.modules" ,
356
- {
357
- "carb" : mock_environment ["carb" ],
358
- "omni.kit.xr.core" : mock_environment ["omni" ].kit .xr .core ,
359
- "isaacsim.core.prims" : mocker .MagicMock (),
360
- },
361
- )
362
- mocker .patch .object (device_mod , "XRCore" , mock_environment ["omni" ].kit .xr .core .XRCore )
363
- mocker .patch .object (device_mod , "XRPoseValidityFlags" , mock_environment ["omni" ].kit .xr .core .XRPoseValidityFlags )
364
- mock_single_xform = mocker .patch .object (device_mod , "SingleXFormPrim" )
365
-
366
- # Configure the mock to return a string for prim_path
367
- mock_instance = mock_single_xform .return_value
368
- mock_instance .prim_path = "/XRAnchor"
369
-
370
- # Create the device using the factory
371
- device = OpenXRDevice (config )
372
-
373
- # Verify the device was created successfully
374
- assert device ._xr_cfg == xr_cfg
375
-
376
- # Test with retargeters
377
- device = OpenXRDevice (cfg = config , retargeters = retargeters )
378
-
379
- # Verify retargeters were correctly assigned as a list
380
- assert device ._retargeters == retargeters
381
-
382
- # Test with config and retargeters
383
- device = OpenXRDevice (cfg = config , retargeters = retargeters )
384
-
385
- # Verify both config and retargeters were correctly assigned
386
- assert device ._xr_cfg == xr_cfg
387
- assert device ._retargeters == retargeters
388
-
389
- # Test reset functionality
390
- device .reset ()
391
-
392
-
393
333
def test_se3phone_constructor (mocker ):
394
334
"""Test constructor and delta-output behavior for Se3Phone."""
395
335
@@ -484,6 +424,66 @@ def emit(self, msg: dict):
484
424
assert torch .allclose (out3 , expected3 , atol = 1e-6 )
485
425
486
426
427
+ """
428
+ Test OpenXR devices.
429
+ """
430
+
431
+
432
+ def test_openxr_constructors (mock_environment , mocker ):
433
+ """Test constructor for OpenXRDevice."""
434
+ # Test config-based constructor with custom XrCfg
435
+ xr_cfg = XrCfg (
436
+ anchor_pos = (1.0 , 2.0 , 3.0 ),
437
+ anchor_rot = (0.0 , 0.1 , 0.2 , 0.3 ),
438
+ near_plane = 0.2 ,
439
+ )
440
+ config = OpenXRDeviceCfg (xr_cfg = xr_cfg )
441
+
442
+ # Create mock retargeters
443
+ mock_controller_retargeter = mocker .MagicMock ()
444
+ mock_head_retargeter = mocker .MagicMock ()
445
+ retargeters = [mock_controller_retargeter , mock_head_retargeter ]
446
+
447
+ device_mod = importlib .import_module ("isaaclab.devices.openxr.openxr_device" )
448
+ mocker .patch .dict (
449
+ "sys.modules" ,
450
+ {
451
+ "carb" : mock_environment ["carb" ],
452
+ "omni.kit.xr.core" : mock_environment ["omni" ].kit .xr .core ,
453
+ "isaacsim.core.prims" : mocker .MagicMock (),
454
+ },
455
+ )
456
+ mocker .patch .object (device_mod , "XRCore" , mock_environment ["omni" ].kit .xr .core .XRCore )
457
+ mocker .patch .object (device_mod , "XRPoseValidityFlags" , mock_environment ["omni" ].kit .xr .core .XRPoseValidityFlags )
458
+ mock_single_xform = mocker .patch .object (device_mod , "SingleXFormPrim" )
459
+
460
+ # Configure the mock to return a string for prim_path
461
+ mock_instance = mock_single_xform .return_value
462
+ mock_instance .prim_path = "/XRAnchor"
463
+
464
+ # Create the device using the factory
465
+ device = OpenXRDevice (config )
466
+
467
+ # Verify the device was created successfully
468
+ assert device ._xr_cfg == xr_cfg
469
+
470
+ # Test with retargeters
471
+ device = OpenXRDevice (cfg = config , retargeters = retargeters )
472
+
473
+ # Verify retargeters were correctly assigned as a list
474
+ assert device ._retargeters == retargeters
475
+
476
+ # Test with config and retargeters
477
+ device = OpenXRDevice (cfg = config , retargeters = retargeters )
478
+
479
+ # Verify both config and retargeters were correctly assigned
480
+ assert device ._xr_cfg == xr_cfg
481
+ assert device ._retargeters == retargeters
482
+
483
+ # Test reset functionality
484
+ device .reset ()
485
+
486
+
487
487
"""
488
488
Test teleop device factory.
489
489
"""
0 commit comments