code: def test_see_also():
      doc6 = NumpyDocString(
          """
      z(x,theta)
  
      See Also
      --------
      func_a, func_b, func_c
      func_d : some equivalent func
      foo.func_e : some other func over
               multiple lines
      func_f, func_g, :meth:`func_h`, func_j,
      func_k
      :obj:`baz.obj_q`
      :class:`class_j`: fubar
          foobar
      """
      )
  
      assert len(doc6["See Also"]) == 12
      for func, desc, role in doc6["See Also"]:
          if func in (
              "func_a",
              "func_b",
              "func_c",
              "func_f",
              "func_g",
              "func_h",
              "func_j",
              "func_k",
              "baz.obj_q",
          ):
              assert not desc
          else:
              assert desc
  
          if func == "func_h":
              assert role == "meth"
          elif func == "baz.obj_q":
              assert role == "obj"
          elif func == "class_j":
              assert role == "class"
          else:
              assert role is None
  
          if func == "func_d":
              assert desc == ["some equivalent func"]
          elif func == "foo.func_e":
              assert desc == ["some other func over", "multiple lines"]
          elif func == "class_j":
              assert desc == ["fubar", "foobar"]
  
imports: import sys, textwrap
  from numpydoc.docscrape import NumpyDocString, FunctionDoc, ClassDoc
  from numpydoc.docscrape_sphinx import SphinxDocString, SphinxClassDoc
  from nose.tools import *
label_desc: Use image node_id 19 for calling a global function with example usage: test_see_also() without return types