code: def test_template_transform_incorrect_channels(
      img_channels, template_channels
  ):
      img = np.random.randint(
          0, 256, [512, 512, img_channels], np.uint8
      )
      template = np.random.randint(
          0, 256, [512, 512, template_channels], np.uint8
      )
  
      with pytest.raises(ValueError) as exc_info:
          transform = A.TemplateTransform(template, always_apply=True)
          transform(image=img)
  
      message = (
          "Template must be a single channel or has the same number of channels "
          "as input image ({}), got {}".format(
              img_channels, template.shape[-1]
          )
      )
      assert str(exc_info.value) == message
  
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 44 for calling a global function with example usage: test_template_transform_incorrect_channels(img_channels, template_channels) without return types