code: def test_is_cyclic(self):
      self.assertTrue(is_cyclic({1: [2], 2: [3], 3: [1]}))
      self.assertTrue(is_cyclic({1: [2], 2: [3, 1], 3: []}))
  
      self.assertFalse(is_cyclic({1: [2], 2: [3, 4, 5], 3: [4, 5]}))
      self.assertFalse(is_cyclic({1: [2], 2: [3], 3: [4]}))
      self.assertFalse(is_cyclic(self.graph))
  
file_path: neupy/tests/layers/graph/test_extra_functions.py
imports: from collections import OrderedDict
  from neupy.layers.graph import find_outputs_in_graph, topological_sort, filter_graph, is_cyclic, lazy_property
  from base import BaseTestCase
label_desc: Use image node_id 2 for calling the ExtraFunctionsTestCase obj's underlying member method code with example usage: obj.test_is_cyclic() without return types