code: def test_unique_name_generator():
      unique_names = unique_name_generator(["blah"], suffix_sep="_")
  
      x = vector("blah")
      x_name = unique_names(x)
      assert x_name == "blah_1"
  
      y = vector("blah_1")
      y_name = unique_names(y)
      assert y_name == "blah_1_1"
  
      # Make sure that the old name associations are still good
      x_name = unique_names(x)
      assert x_name == "blah_1"
      y_name = unique_names(y)
      assert y_name == "blah_1_1"
  
      # Try a name that overlaps with the original name
      z = vector("blah")
      z_name = unique_names(z)
      assert z_name == "blah_2"
  
      # Try a name that overlaps with an extended name
      w = vector("blah_1")
      w_name = unique_names(w)
      assert w_name == "blah_1_2"
  
      q = vector()
      q_name_1 = unique_names(q)
      q_name_2 = unique_names(q)
  
      assert q_name_1 == q_name_2 == "tensor_variable"
  
      unique_names = unique_name_generator()
  
      r = vector()
      r_name_1 = unique_names(r)
      r_name_2 = unique_names(r, force_unique=True)
  
      assert r_name_1 != r_name_2
  
      r_name_3 = unique_names(r)
      assert r_name_2 == r_name_3
  
imports: import inspect
  from functools import singledispatch
  import numpy
  from pytensor import config
  from pytensor.graph.basic import Apply
  from pytensor.graph.fg import FunctionGraph
  from pytensor.graph.op import Op
  from pytensor.link.utils import fgraph_to_python, get_name_for_object, unique_name_generator
  from pytensor.scalar.basic import Add, float64
  from pytensor.tensor import constant
  from pytensor.tensor.elemwise import Elemwise
  from pytensor.tensor.type import scalar, vector
  from pytensor.tensor.type_other import NoneConst
label_desc: Use image node_id 9 for calling a global function with example usage: test_unique_name_generator() without return types