code: def test_automatic_symbols():
      # NOTE: Because of the way the hook works, you have to use run_cell(code,
      # True).  This means that the code must have no Out, or it will be printed
      # during the tests.
      app = init_ipython_session()
      app.run_cell("from sympy import *")
  
      enable_automatic_symbols(app)
  
      symbol = "verylongsymbolname"
      assert symbol not in app.user_ns
      app.run_cell("a = %s" % symbol, True)
      assert symbol not in app.user_ns
      app.run_cell("a = type(%s)" % symbol, True)
      assert app.user_ns["a"] == Symbol
      app.run_cell("%s = Symbol('%s')" % (symbol, symbol), True)
      assert symbol in app.user_ns
  
      # Check that built-in names aren't overridden
      app.run_cell("a = all == __builtin__.all", True)
      assert "all" not in app.user_ns
      assert app.user_ns["a"] is True
  
      # Check that SymPy names aren't overridden
      app.run_cell("import sympy")
      app.run_cell("a = factorial == sympy.factorial", True)
      assert app.user_ns["a"] is True
  
file_path: sympy/sympy/interactive/tests/test_ipython.py
imports: from sympy.interactive.session import init_ipython_session, enable_automatic_symbols, enable_automatic_int_sympification
  from sympy.core import Symbol, Rational, Integer
  from sympy.external import import_module
  from sympy.testing.pytest import raises
label_desc: Use image node_id 1 for calling a global function with example usage: test_automatic_symbols() without return types