code: def test_same_on_batch(self, device, dtype):
      torch.manual_seed(42)
  
      param_gen = CropGenerator3D(
          size=torch.tensor(
              [[50, 60, 70], [50, 60, 70]], device=device, dtype=dtype
          ),
          resize_to=(100, 100, 100),
      )
      res = param_gen(
          batch_shape=torch.Size((2, 1, 200, 200, 200)),
          same_on_batch=True,
      )
  
      expected = {
          "src": torch.tensor(
              [
                  [
                      [115, 129, 57],
                      [184, 129, 57],
                      [184, 188, 57],
                      [115, 188, 57],
                      [115, 129, 106],
                      [184, 129, 106],
                      [184, 188, 106],
                      [115, 188, 106],
                  ],
                  [
                      [115, 129, 57],
                      [184, 129, 57],
                      [184, 188, 57],
                      [115, 188, 57],
                      [115, 129, 106],
                      [184, 129, 106],
                      [184, 188, 106],
                      [115, 188, 106],
                  ],
              ],
              device=device,
              dtype=dtype,
          ),
          "dst": torch.tensor(
              [
                  [
                      [0, 0, 0],
                      [99, 0, 0],
                      [99, 99, 0],
                      [0, 99, 0],
                      [0, 0, 99],
                      [99, 0, 99],
                      [99, 99, 99],
                      [0, 99, 99],
                  ],
                  [
                      [0, 0, 0],
                      [99, 0, 0],
                      [99, 99, 0],
                      [0, 99, 0],
                      [0, 0, 99],
                      [99, 0, 99],
                      [99, 99, 99],
                      [0, 99, 99],
                  ],
              ],
              device=device,
              dtype=dtype,
          ),
      }
      assert res.keys() == expected.keys()
      assert_close(res["src"], expected["src"], atol=1e-4, rtol=1e-4)
      assert_close(res["dst"], 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 4 for calling the TestRandomCropGen3D obj's underlying member method code with example usage: obj.test_same_on_batch(device, dtype) without return types