code: def test_isconstructor(self):
      class OrdinaryClass(object):
          pass
  
      class OrdinaryCallableClass(object):
          def __call__(self):
              pass
  
      class Metaclass(type):
          pass
  
      class CallableMetaclass(type):
          def __call__(cls):
              pass
  
      self.assertTrue(inspect_utils.isconstructor(OrdinaryClass))
      self.assertTrue(
          inspect_utils.isconstructor(OrdinaryCallableClass)
      )
      self.assertTrue(inspect_utils.isconstructor(Metaclass))
      self.assertTrue(
          inspect_utils.isconstructor(Metaclass("TestClass", (), {}))
      )
      self.assertTrue(inspect_utils.isconstructor(CallableMetaclass))
  
      self.assertFalse(
          inspect_utils.isconstructor(
              CallableMetaclass("TestClass", (), {})
          )
      )
  
imports: import abc
  import collections
  import functools
  import imp
  import textwrap
  import unittest
  import six
  from nvidia.dali._autograph.pyct import inspect_utils
  from nvidia.dali._autograph.pyct.testing import basic_definitions
  from nvidia.dali._autograph.pyct.testing import decorators
label_desc: Use image node_id 25 for calling the InspectUtilsTest obj's underlying member method code with example usage: obj.test_isconstructor() without return types