code: def test_simple(self):
      x = matrix("x")
      y = x + x
      fgraph = FunctionGraph([x], [y], clone=False)
      shapes = shape_of_variables(fgraph, {x: (5, 5)})
      assert shapes == {x: (5, 5), y: (5, 5)}
  
      x = matrix("x")
      y = pt.dot(x, x.T)
      fgraph = 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: pytensor/tests/tensor/test_utils.py
imports: import numpy
  import pytest
  import pytensor.tensor
  from pytensor.graph.fg import FunctionGraph
  from pytensor.tensor.type import matrix
  from pytensor.tensor.utils import hash_from_ndarray, shape_of_variables
label_desc: Use image node_id 1 for calling the TestShapeOfVariables obj's underlying member method code with example usage: obj.test_simple() without return types