code: def test_semantic_mask_interpolation(augmentation_cls, params):
      """Checks whether transformations based on DualTransform does not introduce a mask interpolation artifacts.
      Note: IAAAffine, IAAPiecewiseAffine, IAAPerspective does not properly operate if mask has values other than {0;1}
      """
      aug = augmentation_cls(p=1, **params)
      image = np.random.randint(
          low=0, high=256, size=(100, 100, 3), dtype=np.uint8
      )
      mask = (
          np.random.randint(
              low=0, high=4, size=(100, 100), dtype=np.uint8
          )
          * 64
      )
  
      data = aug(image=image, mask=mask)
      assert np.array_equal(
          np.unique(data["mask"]), np.array([0, 64, 128, 192])
      )
  
imports: import random
  from functools import partial
  import cv2
  import numpy
  import pytest
  import albumentations
  import albumentations.augmentations.functional
  import albumentations.augmentations.geometric.functional
  from albumentations.augmentations.blur.functional import gaussian_blur
  from .utils import get_dual_transforms, get_image_only_transforms, get_transforms
label_desc: Use image node_id 11 for calling a global function with example usage: test_semantic_mask_interpolation(augmentation_cls, params) without return types