code: def test_output(self):
      from onnx_chainer.replace_func import as_funcnode
  
      class Model(chainer.Chain):
          def __init__(self):
              super().__init__()
  
          @as_funcnode("Reshape")
          def dynamic_reshape(self, x, shape):
              # shape is expected as variable type
              return F.reshape(x, tuple(shape.array))
  
          def forward(self, x, shape):
              return self.dynamic_reshape(x, shape)
  
      model = Model()
      x = input_generator.increasing(3, 4, 5)
      shape = np.array([12, 5], dtype=np.int64)
  
      def check_no_param(onnx_model, path):
          assert not any(
              ["param" in v.name for v in onnx_model.graph.input]
          )
  
      self.expect(
          model, (x, shape), custom_model_test_func=check_no_param
      )
  
imports: import chainer
  import chainer.functions
  from chainer import testing
  import numpy
  import onnx
  import pytest
  from onnx_chainer import export
  from onnx_chainer.testing import input_generator
  from onnx_chainer_tests.helper import ONNXModelChecker
  from onnx_chainer_tests.helper import ONNXModelTest
label_desc: Use image node_id 1 for calling the TestDynamicReshape obj's underlying member method code with example usage: obj.test_output() and returns: F, self