code: def test_python_scalar(self):
      for typ in (int, float, bool):
          dtype = numpy.dtype(typ).type
          in1_cpu = numpy.random.randint(0, 1, (4, 5)).astype(dtype)
          in1 = cupy.array(in1_cpu)
          scalar_value = typ(2)
          uesr_kernel_1 = cupy.ElementwiseKernel(
              "T x, T y",
              "T z",
              """
                      z = x + y;
                  """,
              "uesr_kernel_1",
          )
          out1 = uesr_kernel_1(in1, scalar_value)
  
          expected = in1_cpu + dtype(2)
          testing.assert_array_equal(out1, expected)
  
imports: import unittest
  import numpy
  import pytest
  import cupy
  from cupy import testing
  from cupy.cuda import runtime
  from cupy.cuda.texture import ChannelFormatDescriptor, CUDAarray, ResourceDescriptor, TextureDescriptor, TextureObject
label_desc: Use image node_id 2 for calling the TestUserkernel obj's underlying member method code with example usage: obj.test_python_scalar() without return types