code: def test_bbox(self, bbox, augmentation, device, dtype):
      img = torch.rand((3, 3, 10, 10), device=device, dtype=dtype)
      if isinstance(bbox, list):
          for i, b in enumerate(bbox):
              bbox[i] = b.to(device=device, dtype=dtype)
      else:
          bbox = bbox.to(device=device, dtype=dtype)
  
      inputs = [img, bbox]
  
      aug = K.AugmentationSequential(
          augmentation, data_keys=["input", "bbox_xyxy"]
      )
  
      transformed = aug(*inputs)
  
      assert len(transformed) == len(inputs)
      bboxes_transformed = transformed[-1]
      assert len(bboxes_transformed) == len(bbox)
      assert bboxes_transformed.__class__ == bbox.__class__
      for i in range(len(bbox)):
          assert len(bboxes_transformed[i]) == len(bbox[i])
  
imports: from functools import partial
  from unittest.mock import patch
  import pytest
  import torch
  import kornia
  import kornia.augmentation
  from kornia.augmentation.container.base import ParamItem
  from kornia.constants import BorderType
  from kornia.geometry.bbox import bbox_to_mask
  from kornia.testing import assert_close
label_desc: Use image node_id 12 for calling the TestAugmentationSequential obj's underlying member method code with example usage: obj.test_bbox(bbox, augmentation, device, dtype) without return types