code: def test_raise_on_cycle_two(self):
      # this condition was arising from ticket:362 and was not treated
      # properly by topological sort
  
      node1 = "node1"
      node2 = "node2"
      node3 = "node3"
      node4 = "node4"
      tuples = [
          (node1, node2),
          (node3, node1),
          (node2, node4),
          (node3, node2),
          (node2, node3),
      ]
      allitems = self._nodes_from_tuples(tuples)
  
      try:
          list(topological.sort(tuples, allitems))
          assert False
      except exc.CircularDependencyError as err:
          eq_(err.cycles, {"node1", "node3", "node2"})
          eq_(
              err.edges,
              {
                  ("node3", "node1"),
                  ("node2", "node3"),
                  ("node3", "node2"),
                  ("node1", "node2"),
                  ("node2", "node4"),
              },
          )
  
imports: from sqlalchemy import exc
  from sqlalchemy.testing import assert_raises
  from sqlalchemy.testing import eq_
  from sqlalchemy.testing import fixtures
  from sqlalchemy.testing.util import conforms_partial_ordering
  from sqlalchemy.util import topological
label_desc: Use image node_id 10 for calling the DependencySortTest obj's underlying member method code with example usage: obj.test_raise_on_cycle_two() without return types