code: def test_number_of_inputs(self):
      # Too few inputs
      x = numpy.random.uniform(-1, 1, (2, 3, 4)).astype(numpy.float32)
      with self.assertRaises(type_check.InvalidType):
          F.connection.deconvolution_nd.DeconvolutionND(1).apply((x,))
  
      # Too much inputs
      x = numpy.random.uniform(-1, 1, (2, 3, 4)).astype(numpy.float32)
      W = numpy.random.uniform(-1, 1, (3, 2, 2)).astype(numpy.float32)
      b = numpy.random.uniform(-1, 1, (2,)).astype(numpy.float32)
      with self.assertRaises(type_check.InvalidType):
          F.connection.deconvolution_nd.DeconvolutionND(1).apply(
              (x, W, b, x)
          )
  
imports: import functools
  from operator import mul
  import unittest
  import numpy
  import chainer
  from chainer.backends import cuda
  import chainer.functions
  from chainer import testing
  from chainer.testing import attr
  from chainer.testing import parameterize
  from chainer.utils import conv
  from chainer.utils import type_check
label_desc: Use image node_id 1 for calling the TestDeconvolutionNDTypeCheck obj's underlying member method code with example usage: obj.test_number_of_inputs() without return types