code: def __test_use_DEF(self):
      t = self.fragment(
          """
          DEF ndim = 3
          def f():
              cdef object[int, ndim] x
              cdef object[ndim=ndim, dtype=int] y
          """,
          pipeline=[NormalizeTree(self), PostParse(self)],
      ).root
      stats = t.stats[0].body.stats
      self.assertTrue(stats[0].base_type.ndim == 3)
      self.assertTrue(stats[1].base_type.ndim == 3)
  
imports: from Cython.TestUtils import CythonTest
  import Cython.Compiler.Errors
  from Cython.Compiler.Nodes import *
  from Cython.Compiler.ParseTreeTransforms import *
  from Cython.Compiler.Buffer import *
label_desc: Use image node_id 7 for calling the TestBufferOptions obj's underlying member method code with example usage: obj.__test_use_DEF() without return types