code: def test_3(self):
      # Test a graph which is not connected
      r1, r2, r3, r4 = (
          MyVariable(1),
          MyVariable(2),
          MyVariable(3),
          MyVariable(4),
      )
      o0 = MyOp.make_node(r1, r2)
      o1 = MyOp.make_node(r3, r4)
      all = io_toposort([r1, r2, r3, r4], o0.outputs + o1.outputs)
      assert all == [o1, o0] or all == [o0, o1]
  
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 4 for calling the TestToposort obj's underlying member method code with example usage: obj.test_3() without return types