code: def test_full_graph(self):
      # Test `is_same_graph` with more complex graphs.
  
      x, y, z = tensor.vectors("x", "y", "z")
      t = x * y
      self.check(
          [
              (x * 2, x * 2, (({}, True),)),
              (
                  x * 2,
                  y * 2,
                  (
                      ({}, False),
                      ({y: x}, True),
                  ),
              ),
              (
                  x * 2,
                  y * 2,
                  (
                      ({}, False),
                      ({x: y}, True),
                  ),
              ),
              (
                  x * 2,
                  y * 3,
                  (
                      ({}, False),
                      ({y: x}, False),
                  ),
              ),
              (
                  t * 2,
                  z * 2,
                  (
                      ({}, False),
                      ({t: z}, True),
                  ),
              ),
              (
                  t * 2,
                  z * 2,
                  (
                      ({}, False),
                      ({z: t}, True),
                  ),
              ),
              (x * (y * z), (x * y) * z, (({}, False),)),
          ]
      )
  
imports: from __future__ import absolute_import, print_function, division
  from itertools import count
  import pickle
  import unittest
  from nose.plugins.skip import SkipTest
  import numpy
  from theano import sparse, shared, tensor
  from theano.gof.graph import Apply, as_string, clone, general_toposort, inputs, io_toposort, is_same_graph, Variable
  from theano.gof.op import Op
  from theano.gof.type import Type
label_desc: Use image node_id 3 for calling the TestIsSameGraph obj's underlying member method code with example usage: obj.test_full_graph() without return types