code: def test_crop_transform_empty(records, check_attributes_on_component):
      tfm = tfms.A.Adapter([tfms.A.Crop(0, 0, 100, 100, p=1.0)])
      tfm_ds = Dataset(records, tfm=tfm)
      tfmed = tfm_ds[0]
      # assert "keypoints" not in tfm_ds.tfm.tfms.processors.keys()
      assert len(tfmed.detection.label_ids) == 0
      assert len(tfmed.detection.bboxes) == 0
      assert not tfmed.detection.mask_array.data.any()
      assert len(tfmed.detection.iscrowds) == 0
      assert len(tfmed.detection.areas) == 0
      check_attributes_on_component(tfmed)
  
      # assert orignal record was not changed
      record = records[0]
      assert len(record.detection.label_ids) == 1
      assert len(record.detection.bboxes) == 1
      assert len(record.detection.masks) == 1
      assert len(record.detection.iscrowds) == 1
      assert len(record.detection.areas) == 1
      check_attributes_on_component(record)
  
file_path: icevision/tests/transforms/test_albu_transform.py
imports: from icevision.tfms.albumentations.albumentations_adapter import AlbumentationsMasksComponent
  import pytest
  from icevision.all import *
  from albumentations import LongestMaxSize, Normalize, PadIfNeeded
  from icevision.tfms.albumentations.albumentations_helpers import get_size_without_padding, get_transform
label_desc: Use image node_id 6 for calling a global function with example usage: test_crop_transform_empty(records, check_attributes_on_component) without return types