Пример #1
0
    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)
Пример #2
0
    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)