code: def test_pydotprint_long_name():
      # This is a REALLY PARTIAL TEST.
      # It prints a graph where there are variable and apply nodes whose long
      # names are different, but not the shortened names.
      # We should not merge those nodes in the dot graph.
  
      # Skip test if pydot is not available.
      if not theano.printing.pydot_imported:
          raise SkipTest("pydot not available")
  
      x = tensor.dvector()
      mode = theano.compile.mode.get_default_mode().excluding("fusion")
      f = theano.function([x], [x * 2, x + x], mode=mode)
      f([1, 2, 3, 4])
  
      theano.printing.pydotprint(
          f, max_label_size=5, print_output_file=False
      )
      theano.printing.pydotprint(
          [x * 2, x + x], max_label_size=5, print_output_file=False
      )
  
imports: from __future__ import absolute_import, print_function, division
  import logging
  from nose.plugins.skip import SkipTest
  import numpy
  from six.moves import StringIO
  import theano
  import theano.tensor
  from theano.printing import min_informative_str, debugprint
label_desc: Use image node_id 3 for calling a global function with example usage: test_pydotprint_long_name() without return types