code: def add_test(self, testpos, path, doctest):
      pos = self.testspos
      keystr = "%s (line %d)" % (path, testpos[1])
      key = UnicodeNode(pos, value=EncodedString(keystr))
      value = UnicodeNode(pos, value=doctest)
      self.tests.append(DictItemNode(pos, key=key, value=value))
  
file_path: catboost/contrib/tools/cython/Cython/Compiler/AnalysedTreeTransforms.py
imports: from __future__ import absolute_import
  from .Visitor import ScopeTrackingTransform
  from .Nodes import StatListNode, SingleAssignmentNode, CFuncDefNode, DefNode
  from .ExprNodes import DictNode, DictItemNode, NameNode, UnicodeNode
  from .PyrexTypes import py_object_type
  from .StringEncoding import EncodedString
  from .None import Symtab
label_desc: Use image node_id 2 for calling the AutoTestDictTransform obj's underlying member method code with example usage: obj.add_test(testpos, path, doctest) without return types