code: def test_size_determined_by_output(self):
      # All the input args are unsized, but the size can be determined by the
      # output arg. size argument is not allowed.
  
      # Raw input
      kernel1 = self.create_kernel((True,), (False,))
      kernel1(self.arr1, self.arr2)
      with self.raises_size_not_allowed():
          kernel1(self.arr1, self.arr2, size=2)
  
      # Scalar input
      kernel2 = self.create_kernel((False,), (False,))
      kernel2(self.arr1, self.arr2)
      with self.raises_size_not_allowed():
          kernel2(7, self.arr2, size=2)
  
      # No input
      kernel3 = self.create_kernel((), (False,))
      kernel3(self.arr1)
      with self.raises_size_not_allowed():
          kernel3(self.arr1, size=2)
  
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 11 for calling the TestElementwiseKernelSize obj's underlying member method code with example usage: obj.test_size_determined_by_output() without return types