Beispiel #1
0
    def test_find_cycles(self):
        graph1 = {
            'a': ['b', 'd'],
            'b': ['c'],
            'c': ['d'],
            'd': ['b'],
            'e': ['f', 'd'],
            'f': ['g'],
            'g': ['f']
        }

        graph2 = {
            'a': ['c'],
            'c': ['b'],
            'b': ['a', 'e'],
            'd': ['b'],
            'e': ['d'],
            'z': ['z']
        }

        graph3 = {'a': ['b'], 'b': ['c'], 'd': ['b']}

        cds = graphutil.find_cycles(graph1)
        exp_cds = [['b', 'c', 'd'], ['f', 'g']]
        self.assertEqual(cds, exp_cds)

        cds = graphutil.find_cycles(graph2)
        exp_cds = [['a', 'c', 'b', 'e', 'd'], ['z']]
        self.assertEqual(cds, exp_cds)

        cds = graphutil.find_cycles(graph3)
        self.assertEqual([], cds)
        cds = graphutil.find_cycles(self.group_dep)
        self.assertEqual([], cds)
 def _verify_cycles_impl(self, digraph):
     cycles = graphutil.find_cycles(digraph)
     if len(cycles) == 0:
         logutil.end_msg('ok')
     else:
         logutil.end_msg('found cycle(s)', color='RED')
         for cycle in cycles:
             logutil.warn('CYCLE: ' + ','.join(cycle))
         self.is_success = False
 def _verify_cycles_impl(self, digraph):
     cycles = graphutil.find_cycles(digraph)
     if len(cycles) == 0:
         logutil.end_msg('ok')
     else:
         logutil.end_msg('found cycle(s)', color='RED')
         for cycle in cycles:
             logutil.warn('CYCLE: ' + ','.join(cycle))
         self.is_success = False
Beispiel #4
0
    def test_find_cycles(self):
        graph1 = {
            'a': ['b', 'd'],
            'b': ['c'],
            'c': ['d'],
            'd': ['b'],
            'e': ['f', 'd'],
            'f': ['g'],
            'g': ['f']
        }

        graph2 = {
            'a': ['c'],
            'c': ['b'],
            'b': ['a', 'e'],
            'd': ['b'],
            'e': ['d'],
            'z': ['z']
        }

        graph3 = {
            'a': ['b'],
            'b': ['c'],
            'd': ['b']
        }

        cds = graphutil.find_cycles(graph1)
        exp_cds = [
            ['b', 'c', 'd'],
            ['f', 'g']
        ]
        self.assertEqual(cds, exp_cds)

        cds = graphutil.find_cycles(graph2)
        exp_cds = [
            ['a', 'c', 'b', 'e', 'd'],
            ['z']
        ]
        self.assertEqual(cds, exp_cds)

        cds = graphutil.find_cycles(graph3)
        self.assertEqual([], cds)
        cds = graphutil.find_cycles(self.group_dep)
        self.assertEqual([], cds)