linpershey/process_mining
0
1import os2import unittest3import pm4py4from pm4py.objects.conversion.bpmn import converter as bpmn_converter5from pm4py.objects.conversion.process_tree import converter as tree_converter6from pm4py.objects.bpmn.importer import importer as bpmn_importer7from pm4py.objects.bpmn.layout import layouter as bpmn_layouter8from pm4py.objects.bpmn.exporter import exporter as bpmn_exporter9 10 11class BPMNTests(unittest.TestCase):12 def test_tree_to_bpmn(self):13 log = pm4py.read_xes(os.path.join("input_data", "running-example.xes"))14 tree = pm4py.discover_process_tree_inductive(log)15 bpmn_graph = tree_converter.apply(tree, variant=tree_converter.Variants.TO_BPMN)16 17 def test_bpmn_to_petri_net(self):18 log = pm4py.read_xes(os.path.join("input_data", "running-example.xes"))19 bpmn_graph = bpmn_importer.apply(os.path.join("input_data", "running-example.bpmn"))20 net, im, fm = bpmn_converter.apply(bpmn_graph, variant=bpmn_converter.Variants.TO_PETRI_NET)21 fitness_tbr = pm4py.fitness_token_based_replay(log, net, im, fm)22 23 def test_bpmn_layouting(self):24 log = pm4py.read_xes(os.path.join("input_data", "running-example.xes"))25 tree = pm4py.discover_process_tree_inductive(log)26 bpmn_graph = tree_converter.apply(tree, variant=tree_converter.Variants.TO_BPMN)27 bpmn_graph = bpmn_layouter.apply(bpmn_graph)28 29 def test_bpmn_exporting(self):30 bpmn_graph = bpmn_importer.apply(os.path.join("input_data", "running-example.bpmn"))31 bpmn_exporter.apply(bpmn_graph, os.path.join("test_output_data", "running-example.bpmn"))32 os.remove(os.path.join("test_output_data", "running-example.bpmn"))33 34 def test_bpmn_importing_and_layouting(self):35 bpmn_graph = bpmn_importer.apply(os.path.join("input_data", "running-example.bpmn"))36 bpmn_graph = bpmn_layouter.apply(bpmn_graph)37 38 39if __name__ == "__main__":40 unittest.main()41 