Beispiel #1
0
 def test_sequencer_removal(self):
     seq = Sequencer()
     seq.add('A', 'B')
     seq.add('B', 'C')
     seq.add('C', 'D')
     preds = {'B': set(['A']), 'C': set(['B']), 'D': set(['C'])}
     succs = {'A': set(['B']), 'B': set(['C']), 'C': set(['D'])}
     self.assertEqual(seq._preds, preds)
     self.assertEqual(seq._succs, succs)
     seq.remove_node('C')
     self.assertEqual(seq._preds, preds)
     self.assertEqual(seq._succs, succs)
     seq.remove_node('C', True)
     self.assertEqual(seq._preds, {'B': set(['A'])})
     self.assertEqual(seq._succs, {'A': set(['B'])})
Beispiel #2
0
 def test_sequencer_cycle(self):
     seq = Sequencer()
     seq.add('A', 'B')
     seq.add('B', 'C')
     seq.add('C', 'D')
     self.assertEqual(list(seq.get_steps('D')), ['A', 'B', 'C', 'D'])
     seq.add('C', 'A')
     self.assertEqual(list(seq.get_steps('D')), ['C', 'A', 'B', 'D'])
     self.assertFalse(seq.is_step('E'))
     self.assertRaises(ValueError, seq.get_steps, 'E')
     seq.add_node('E')
     self.assertTrue(seq.is_step('E'))
     self.assertEqual(list(seq.get_steps('E')), ['E'])
     seq.remove_node('E')
     self.assertFalse(seq.is_step('E'))
     self.assertRaises(ValueError, seq.get_steps, 'E')
     seq.remove('C', 'A')
     self.assertEqual(list(seq.get_steps('D')), ['A', 'B', 'C', 'D'])
Beispiel #3
0
 def test_sequencer_cycle(self):
     seq = Sequencer()
     seq.add('A', 'B')
     seq.add('B', 'C')
     seq.add('C', 'D')
     self.assertEqual(list(seq.get_steps('D')), ['A', 'B', 'C', 'D'])
     seq.add('C', 'A')
     self.assertEqual(list(seq.get_steps('D')), ['C', 'A', 'B', 'D'])
     self.assertFalse(seq.is_step('E'))
     self.assertRaises(ValueError, seq.get_steps, 'E')
     seq.add_node('E')
     self.assertTrue(seq.is_step('E'))
     self.assertEqual(list(seq.get_steps('E')), ['E'])
     seq.remove_node('E')
     self.assertFalse(seq.is_step('E'))
     self.assertRaises(ValueError, seq.get_steps, 'E')
     seq.remove('C', 'A')
     self.assertEqual(list(seq.get_steps('D')), ['A', 'B', 'C', 'D'])
Beispiel #4
0
 def test_sequencer_removal(self):
     seq = Sequencer()
     seq.add('A', 'B')
     seq.add('B', 'C')
     seq.add('C', 'D')
     preds = {
         'B': set(['A']),
         'C': set(['B']),
         'D': set(['C'])
     }
     succs =  {
         'A': set(['B']),
         'B': set(['C']),
         'C': set(['D'])
     }
     self.assertEqual(seq._preds, preds)
     self.assertEqual(seq._succs, succs)
     seq.remove_node('C')
     self.assertEqual(seq._preds, preds)
     self.assertEqual(seq._succs, succs)
     seq.remove_node('C', True)
     self.assertEqual(seq._preds, {'B': set(['A'])})
     self.assertEqual(seq._succs, {'A': set(['B'])})