code: def test_simple(self):
      x = theano.tensor.matrix("x")
      y = x + x
      fgraph = theano.FunctionGraph([x], [y], clone=False)
      shapes = shape_of_variables(fgraph, {x: (5, 5)})
      assert shapes == {x: (5, 5), y: (5, 5)}
  
      x = theano.tensor.matrix("x")
      y = theano.tensor.dot(x, x.T)
      fgraph = theano.FunctionGraph([x], [y], clone=False)
      shapes = shape_of_variables(fgraph, {x: (5, 1)})
      assert shapes[x] == (5, 1)
      assert shapes[y] == (5, 5)
  
file_path: Theano/theano/tensor/tests/test_utils.py
imports: from __future__ import absolute_import, print_function, division
  import unittest
  import numpy
  import theano
  from theano.tensor.utils import hash_from_ndarray, shape_of_variables
label_desc: Use image node_id 1 for calling the Tshape_of_variables obj's underlying member method code with example usage: obj.test_simple() without return types