code: def test_StatementList():
      func = Function("void func() {}")
      main = Function("void main() {}")
      main["pre"] = StatementList()
      expr = func()
      main["pre"].add(expr, 0)
      assert list(main["pre"].items) == [expr]
      main["pre"].add(expr)
      assert list(main["pre"].items) == [expr]
  
      code = main.compile()
      assert " func();" in code
  
      main["pre"].remove(expr)
      assert list(main["pre"].items) == []
  
file_path: vispy/vispy/visuals/shaders/tests/test_function.py
imports: from vispy.visuals.shaders import Function, MainFunction, Variable, Varying, FunctionChain, StatementList
  from vispy.visuals.shaders.expression import FunctionCall, TextExpression
  from vispy.testing import assert_in, assert_not_in, assert_is, run_tests_if_main, assert_raises, assert_equal
label_desc: Use image node_id 9 for calling a global function with example usage: test_StatementList() without return types