| Total Complexity | 5 | 
| Total Lines | 26 | 
| Duplicated Lines | 0 % | 
| Changes | 1 | ||
| Bugs | 0 | Features | 0 | 
| 1 | import unittest | ||
| 7 | class TestActionManager(unittest.TestCase): | ||
| 8 | |||
| 9 | def test_action_manager(self): | ||
| 10 | action_manager = ActionManager() | ||
| 11 | actions = [A, B, C, D, E, F, G, H] | ||
| 12 | steps_correct_order = [ | ||
| 13 | ['A', 'D', 'G'], | ||
| 14 | ['B'], | ||
| 15 | ['C', 'H'], | ||
| 16 | ['F'], | ||
| 17 | ['E'] | ||
| 18 | ] | ||
| 19 | self.assertEqual(steps_correct_order, self._get_class_name_representation(action_manager.get_steps_for_actions(actions))) | ||
| 20 | |||
| 21 | for i in range(10): | ||
| 22 | shuffle(actions) | ||
| 23 | self.assertEqual(steps_correct_order, self._get_class_name_representation(action_manager.get_steps_for_actions(actions))) | ||
| 24 | |||
| 25 | def _get_class_name_representation(self, steps): | ||
| 26 | steps_representation = [] | ||
| 27 | for step in steps: | ||
| 28 | step_representation = [] | ||
| 29 | for action in step: | ||
| 30 | step_representation.append(action.__name__) | ||
| 31 | steps_representation.append(sorted(step_representation)) | ||
| 32 | return steps_representation |