code: def test_multiple_references(self):
      r1, r2, r5 = MyVariable(1), MyVariable(2), MyVariable(5)
      node = MyOp.make_node(r1, r2)
      node2 = MyOp.make_node(node.outputs[0], node.outputs[0])
      assert self.str([r1, r2, r5], node2.outputs) == [
          "MyOp(*1 -> MyOp(R1, R2), *1)"
      ]
  
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 TestStr obj's underlying member method code with example usage: obj.test_multiple_references() without return types