code: def test_wrong_args(self):
      source = ImageFilter.Color3DLUT.generate(
          5, lambda r, g, b: (r, g, b)
      )
  
      with pytest.raises(ValueError, match="Only 3 or 4 output"):
          source.transform(lambda r, g, b: (r, g, b), channels=8)
  
      with pytest.raises(
          ValueError, match="should have either channels"
      ):
          source.transform(lambda r, g, b: (r, g, b), channels=4)
  
      with pytest.raises(
          ValueError, match="should have either channels"
      ):
          source.transform(lambda r, g, b: (r, g, b, 1))
  
      with pytest.raises(TypeError):
          source.transform(lambda r, g, b, a: (r, g, b))
  
imports: from __future__ import annotations
  from array import array
  import pytest
  from PIL import Image, ImageFilter
  from .helper import assert_image_equal
label_desc: Use image node_id 1 for calling the TestTransformColorLut3D obj's underlying member method code with example usage: obj.test_wrong_args() without return types