def test_str_and_save_dot(self): pipeline = Pipeline({Job('A'): Job('B'), Job('C'): None}) result = str(pipeline) expected = dedent(''' digraph graphname { "A"; "C"; "B"; "A" -> "B"; "C" -> "(None)"; } ''').strip() self.assertEqual(result, expected) pipeline = Pipeline({ (Job('A'), Job('B'), Job('C')): [Job('D')], Job('E'): (Job('B'), Job('F')) }) result = str(pipeline) expected = dedent(''' digraph graphname { "A"; "C"; "B"; "E"; "D"; "F"; "A" -> "D"; "B" -> "D"; "C" -> "D"; "E" -> "B"; "E" -> "F"; } ''').strip() self.assertEqual(result, expected) temp_file = NamedTemporaryFile(delete=False) temp_file.close() pipeline.save_dot(temp_file.name) temp_file = open(temp_file.name) file_contents = temp_file.read() temp_file.close() self.assertEqual(expected + '\n', file_contents) unlink(temp_file.name)
def test_str_and_save_dot(self): pipeline = Pipeline({Job('A'): Job('B'), Job('C'): None}) result = str(pipeline) expected = dedent(''' digraph graphname { "A"; "C"; "B"; "A" -> "B"; "C" -> "(None)"; } ''').strip() self.assertEqual(result, expected) pipeline = Pipeline({(Job('A'), Job('B'), Job('C')): [Job('D')], Job('E'): (Job('B'), Job('F'))}) result = str(pipeline) expected = dedent(''' digraph graphname { "A"; "C"; "B"; "E"; "D"; "F"; "A" -> "D"; "B" -> "D"; "C" -> "D"; "E" -> "B"; "E" -> "F"; } ''').strip() self.assertEqual(result, expected) temp_file = NamedTemporaryFile(delete=False) temp_file.close() pipeline.save_dot(temp_file.name) temp_file = open(temp_file.name) file_contents = temp_file.read() temp_file.close() self.assertEqual(expected + '\n', file_contents) unlink(temp_file.name)