code: def test_visual_node_generation():
      # test that all Visual classes also have Visual+Node classes
      visuals = []
      for name in dir(vispy.visuals):
          obj = getattr(vispy.visuals, name)
          if isinstance(obj, type) and issubclass(obj, Node):
              if obj is Node:
                  continue
              assert name.endswith("Visual")
              vis_node = getattr(visuals, name[:-6])
              assert issubclass(vis_node, Node)
              assert issubclass(vis_node, obj)
  
file_path: vispy/vispy/scene/tests/test_visuals.py
imports: import pytest
  from vispy.scene import visuals, Node
  from vispy.scene.visuals import VisualNode
  import vispy.visuals
label_desc: Use image node_id 2 for calling a global function with example usage: test_visual_node_generation() without return types