Spaces:
Runtime error
Runtime error
| import os | |
| import unittest | |
| from pm4py.algo.discovery.inductive import algorithm as inductive_miner | |
| from pm4py.algo.evaluation import algorithm as evaluation_alg | |
| from pm4py.algo.evaluation.generalization import algorithm as generalization_alg | |
| from pm4py.algo.evaluation.precision import algorithm as precision_alg | |
| from pm4py.algo.evaluation.replay_fitness import algorithm as fitness_alg | |
| from pm4py.algo.evaluation.simplicity import algorithm as simplicity_alg | |
| from pm4py.objects.log.importer.xes import importer as xes_importer | |
| from tests.constants import INPUT_DATA_DIR | |
| from pm4py.objects.conversion.process_tree import converter as process_tree_converter | |
| class ProcessModelEvaluationTests(unittest.TestCase): | |
| def test_evaluation_pm1(self): | |
| # to avoid static method warnings in tests, | |
| # that by construction of the unittest package have to be expressed in such way | |
| self.dummy_variable = "dummy_value" | |
| log = xes_importer.apply(os.path.join(INPUT_DATA_DIR, "running-example.xes")) | |
| process_tree = inductive_miner.apply(log) | |
| net, marking, final_marking = process_tree_converter.apply(process_tree) | |
| fitness = fitness_alg.apply(log, net, marking, final_marking) | |
| precision = precision_alg.apply(log, net, marking, final_marking) | |
| generalization = generalization_alg.apply(log, net, marking, final_marking) | |
| simplicity = simplicity_alg.apply(net) | |
| del fitness | |
| del precision | |
| del generalization | |
| del simplicity | |
| def test_evaluation_pm2(self): | |
| # to avoid static method warnings in tests, | |
| # that by construction of the unittest package have to be expressed in such way | |
| self.dummy_variable = "dummy_value" | |
| log = xes_importer.apply(os.path.join(INPUT_DATA_DIR, "running-example.xes")) | |
| process_tree = inductive_miner.apply(log) | |
| net, initial_marking, final_marking = process_tree_converter.apply(process_tree) | |
| metrics = evaluation_alg.apply(log, net, initial_marking, final_marking) | |
| del metrics | |
| def test_simplicity_arc_degree(self): | |
| import pm4py | |
| net, im, fm = pm4py.read_pnml("input_data/running-example.pnml") | |
| from pm4py.algo.evaluation.simplicity import algorithm as simplicity_evaluator | |
| val = simplicity_evaluator.apply(net, variant=simplicity_evaluator.Variants.SIMPLICITY_ARC_DEGREE) | |
| def test_simplicity_extended_cardoso(self): | |
| import pm4py | |
| net, im, fm = pm4py.read_pnml("input_data/running-example.pnml") | |
| from pm4py.algo.evaluation.simplicity import algorithm as simplicity_evaluator | |
| val = simplicity_evaluator.apply(net, variant=simplicity_evaluator.Variants.EXTENDED_CARDOSO) | |
| def test_simplicity_extended_cyclomatic(self): | |
| import pm4py | |
| net, im, fm = pm4py.read_pnml("input_data/running-example.pnml") | |
| from pm4py.algo.evaluation.simplicity import algorithm as simplicity_evaluator | |
| val = simplicity_evaluator.apply(net, variant=simplicity_evaluator.Variants.EXTENDED_CYCLOMATIC) | |
| if __name__ == "__main__": | |
| unittest.main() | |