code: def test_random_gen(self, device, dtype):
      torch.manual_seed(42)
      res = center_crop_generator3d(
          batch_size=2,
          depth=200,
          height=200,
          width=200,
          size=(120, 150, 100),
      )
      expected = {
          "src": torch.tensor(
              [
                  [
                      [50, 25, 40],
                      [149, 25, 40],
                      [149, 174, 40],
                      [50, 174, 40],
                      [50, 25, 159],
                      [149, 25, 159],
                      [149, 174, 159],
                      [50, 174, 159],
                  ]
              ],
              device=device,
              dtype=torch.long,
          ).repeat(2, 1, 1),
          "dst": torch.tensor(
              [
                  [
                      [0, 0, 0],
                      [99, 0, 0],
                      [99, 149, 0],
                      [0, 149, 0],
                      [0, 0, 119],
                      [99, 0, 119],
                      [99, 149, 119],
                      [0, 149, 119],
                  ]
              ],
              device=device,
              dtype=torch.long,
          ).repeat(2, 1, 1),
      }
      assert res.keys() == expected.keys()
      assert_close(
          res["src"].to(device=device),
          expected["src"],
          atol=1e-4,
          rtol=1e-4,
      )
      assert_close(
          res["dst"].to(device=device),
          expected["dst"],
          atol=1e-4,
          rtol=1e-4,
      )
  
imports: import pytest
  import torch
  from kornia.augmentation.random_generator import AffineGenerator3D, CropGenerator3D, MotionBlurGenerator3D, PerspectiveGenerator3D, RotationGenerator3D, center_crop_generator3d
  from kornia.testing import assert_close
label_desc: Use image node_id 3 for calling the TestCenterCropGen3D obj's underlying member method code with example usage: obj.test_random_gen(device, dtype) without return types