CoolFace
Apppublic

linpershey/process_mining

sourceHugging Faceupdated 2y agoView on Hugging Face
0likes
execute_tests.py362 linesDownload Raw Back to tests
1import inspect2import os3import sys4import unittest5import importlib.util6 7current_dir = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))8parent_dir = os.path.dirname(current_dir)9sys.path.insert(0, parent_dir)10 11EXECUTE_TESTS = True12 13import pm4py14import numpy15import pandas16import networkx17 18pm4py.util.constants.SHOW_PROGRESS_BAR = False19pm4py.util.constants.SHOW_EVENT_LOG_DEPRECATION = False20pm4py.util.constants.SHOW_INTERNAL_WARNINGS = False21# pm4py.util.constants.DEFAULT_TIMESTAMP_PARSE_FORMAT = None22 23enabled_tests = ["SimplifiedInterfaceTest", "SimplifiedInterface2Test", "DocTests", "RoleDetectionTest",24                 "PassedTimeTest", "Pm4pyImportPackageTest", "XesImportExportTest", "CsvImportExportTest",25                 "OtherPartsTests", "AlphaMinerTest", "InductiveMinerTest", "InductiveMinerTreeTest",26                 "AlignmentTest", "DfgTests", "SnaTests", "PetriImportExportTest", "BPMNTests", "ETCTest",27                 "DiagnDfConfChecking", "ProcessModelEvaluationTests", "DecisionTreeTest", "GraphsForming",28                 "HeuMinerTest", "MainFactoriesTest", "AlgorithmTest", "LogFilteringTest",29                 "DataframePrefilteringTest", "StatisticsLogTest", "StatisticsDfTest", "TransitionSystemTest",30                 "ImpExpFromString", "WoflanTest", "OcelFilteringTest", "OcelDiscoveryTest", "LlmTest"]31 32loader = unittest.TestLoader()33suite = unittest.TestSuite()34 35failed = 036 37if not importlib.util.find_spec("graphviz"):38    print("important! install 'grapviz' from pip")39    failed +=140 41if not importlib.util.find_spec("lxml"):42    print("important! install 'lxml' from pip")43    failed += 144 45if "SimplifiedInterfaceTest" in enabled_tests:46    try:47        from tests.simplified_interface import SimplifiedInterfaceTest48        suite.addTests(loader.loadTestsFromTestCase(SimplifiedInterfaceTest))49    except:50        print("SimplifiedInterfaceTest import failed!")51        failed += 152 53if "SimplifiedInterface2Test" in enabled_tests:54    try:55        from tests.simplified_interface_2 import SimplifiedInterface2Test56        suite.addTests(loader.loadTestsFromTestCase(SimplifiedInterface2Test))57    except:58        print("SimplifiedInterface2Test import failed!")59        failed += 160 61if "DocTests" in enabled_tests:62    try:63        from tests.doc_tests import DocTests64        suite.addTests(loader.loadTestsFromTestCase(DocTests))65    except:66        print("DocTests import failed!")67        failed += 168 69if "RoleDetectionTest" in enabled_tests:70    try:71        from tests.role_detection import RoleDetectionTest72        suite.addTests(loader.loadTestsFromTestCase(RoleDetectionTest))73    except:74        print("RoleDetectionTest import failed!")75        failed += 176 77if "PassedTimeTest" in enabled_tests:78    try:79        from tests.passed_time import PassedTimeTest80        suite.addTests(loader.loadTestsFromTestCase(PassedTimeTest))81    except:82        print("PassedTimeTest import failed!")83        failed += 184 85if "Pm4pyImportPackageTest" in enabled_tests:86    try:87        from tests.imp_everything import Pm4pyImportPackageTest88        suite.addTests(loader.loadTestsFromTestCase(Pm4pyImportPackageTest))89    except:90        print("Pm4pyImportPackageTest import failed!")91        failed += 192 93if "XesImportExportTest" in enabled_tests:94    try:95        from tests.xes_impexp_test import XesImportExportTest96        suite.addTests(loader.loadTestsFromTestCase(XesImportExportTest))97    except:98        print("XesImportExportTest import failed!")99        failed += 1100 101if "CsvImportExportTest" in enabled_tests:102    try:103        from tests.csv_impexp_test import CsvImportExportTest104        suite.addTests(loader.loadTestsFromTestCase(CsvImportExportTest))105    except:106        print("CsvImportExportTest import failed!")107        failed += 1108 109if "OtherPartsTests" in enabled_tests:110    try:111        from tests.other_tests import OtherPartsTests112        suite.addTests(loader.loadTestsFromTestCase(OtherPartsTests))113    except:114        print("OtherPartsTests import failed!")115        failed += 1116 117if "AlphaMinerTest" in enabled_tests:118    try:119        from tests.alpha_test import AlphaMinerTest120        suite.addTests(loader.loadTestsFromTestCase(AlphaMinerTest))121    except:122        print("AlphaMinerTest import failed!")123        failed += 1124 125if "InductiveMinerTest" in enabled_tests:126    try:127        from tests.inductive_test import InductiveMinerTest128        suite.addTests(loader.loadTestsFromTestCase(InductiveMinerTest))129    except:130        print("InductiveMinerTest import failed!")131        failed += 1132 133if "InductiveMinerTreeTest" in enabled_tests:134    try:135        from tests.inductive_tree_test import InductiveMinerTreeTest136        suite.addTests(loader.loadTestsFromTestCase(InductiveMinerTreeTest))137    except:138        print("InductiveMinerTreeTest import failed!")139        failed += 1140 141if "AlignmentTest" in enabled_tests:142    try:143        from tests.alignment_test import AlignmentTest144        suite.addTests(loader.loadTestsFromTestCase(AlignmentTest))145    except:146        print("AlignmentTest import failed!")147        failed += 1148 149if "DfgTests" in enabled_tests:150    try:151        from tests.dfg_tests import DfgTests152        suite.addTests(loader.loadTestsFromTestCase(DfgTests))153    except:154        print("DfgTests import failed!")155        failed += 1156 157if "SnaTests" in enabled_tests:158    try:159        from tests.sna_test import SnaTests160        suite.addTests(loader.loadTestsFromTestCase(SnaTests))161    except:162        print("SnaTests import failed!")163        failed += 1164 165if "PetriImportExportTest" in enabled_tests:166    try:167        from tests.petri_imp_exp_test import PetriImportExportTest168        suite.addTests(loader.loadTestsFromTestCase(PetriImportExportTest))169    except:170        print("PetriImportExportTest import failed!")171        failed += 1172 173if "BPMNTests" in enabled_tests:174    try:175        from tests.bpmn_tests import BPMNTests176        suite.addTests(loader.loadTestsFromTestCase(BPMNTests))177    except:178        print("BPMNTests import failed!")179        failed += 1180 181if "ETCTest" in enabled_tests:182    try:183        from tests.etc_tests import ETCTest184        suite.addTests(loader.loadTestsFromTestCase(ETCTest))185    except:186        print("ETCTest import failed!")187        failed += 1188 189if "DiagnDfConfChecking" in enabled_tests:190    try:191        from tests.diagn_df_conf_checking import DiagnDfConfChecking192        suite.addTests(loader.loadTestsFromTestCase(DiagnDfConfChecking))193    except:194        print("DiagnDfConfChecking import failed!")195        failed += 1196 197if "ProcessModelEvaluationTests" in enabled_tests:198    try:199        from tests.evaluation_tests import ProcessModelEvaluationTests200        suite.addTests(loader.loadTestsFromTestCase(ProcessModelEvaluationTests))201    except:202        print("ProcessModelEvaluationTests import failed!")203        failed += 1204 205if "DecisionTreeTest" in enabled_tests:206    try:207        from tests.dec_tree_test import DecisionTreeTest208        suite.addTests(loader.loadTestsFromTestCase(DecisionTreeTest))209    except:210        print("DecisionTreeTest import failed!")211        failed += 1212 213if "GraphsForming" in enabled_tests:214    try:215        from tests.graphs_forming import GraphsForming216        suite.addTests(loader.loadTestsFromTestCase(GraphsForming))217    except:218        print("GraphsForming import failed!")219        failed += 1220 221if "HeuMinerTest" in enabled_tests:222    try:223        from tests.heuminer_test import HeuMinerTest224        suite.addTests(loader.loadTestsFromTestCase(HeuMinerTest))225    except:226        print("HeuMinerTest import failed!")227        failed += 1228 229if "MainFactoriesTest" in enabled_tests:230    try:231        from tests.main_fac_test import MainFactoriesTest232        suite.addTests(loader.loadTestsFromTestCase(MainFactoriesTest))233    except:234        print("MainFactoriesTest import failed!")235        failed += 1236 237if "AlgorithmTest" in enabled_tests:238    try:239        from tests.algorithm_test import AlgorithmTest240        suite.addTests(loader.loadTestsFromTestCase(AlgorithmTest))241    except:242        print("AlgorithmTest import failed!")243        failed += 1244 245if "LogFilteringTest" in enabled_tests:246    try:247        from tests.filtering_log_test import LogFilteringTest248        suite.addTests(loader.loadTestsFromTestCase(LogFilteringTest))249    except:250        print("LogFilteringTest import failed!")251        failed += 1252 253if "DataframePrefilteringTest" in enabled_tests:254    try:255        from tests.filtering_pandas_test import DataframePrefilteringTest256        suite.addTests(loader.loadTestsFromTestCase(DataframePrefilteringTest))257    except:258        print("DataframePrefilteringTest import failed!")259        failed += 1260 261if "StatisticsLogTest" in enabled_tests:262    try:263        from tests.statistics_log_test import StatisticsLogTest264        suite.addTests(loader.loadTestsFromTestCase(StatisticsLogTest))265    except:266        print("StatisticsLogTest import failed!")267        failed += 1268 269if "StatisticsDfTest" in enabled_tests:270    try:271        from tests.statistics_df_test import StatisticsDfTest272        suite.addTests(loader.loadTestsFromTestCase(StatisticsDfTest))273    except:274        print("StatisticsDfTest import failed!")275        failed += 1276 277if "TransitionSystemTest" in enabled_tests:278    try:279        from tests.trans_syst_tests import TransitionSystemTest280        suite.addTests(loader.loadTestsFromTestCase(TransitionSystemTest))281    except:282        print("TransitionSystemTest import failed!")283        failed += 1284 285if "ImpExpFromString" in enabled_tests:286    try:287        from tests.imp_exp_from_string import ImpExpFromString288        suite.addTests(loader.loadTestsFromTestCase(ImpExpFromString))289    except:290        print("ImpExpFromString import failed!")291        failed += 1292 293if "WoflanTest" in enabled_tests:294    try:295        from tests.woflan_tests import WoflanTest296        suite.addTests(loader.loadTestsFromTestCase(WoflanTest))297    except:298        print("WoflanTest import failed!")299        failed += 1300 301if "OcelFilteringTest" in enabled_tests:302    try:303        from tests.ocel_filtering_test import OcelFilteringTest304        suite.addTests(loader.loadTestsFromTestCase(OcelFilteringTest))305    except:306        print("OcelFilteringTest import failed!")307        failed += 1308 309if "OcelDiscoveryTest" in enabled_tests:310    try:311        from tests.ocel_discovery_test import OcelDiscoveryTest312        suite.addTests(loader.loadTestsFromTestCase(OcelDiscoveryTest))313    except:314        print("OcelDiscoveryTest import failed!")315        failed += 1316 317if "LlmTest" in enabled_tests:318    try:319        from tests.llm_test import LlmTest320        suite.addTests(loader.loadTestsFromTestCase(LlmTest))321    except:322        print("LlmTest import failed!")323        failed += 1324 325 326if failed > 0:327    print("-- PRESS ENTER TO CONTINUE --")328    input()329 330 331def main():332    if EXECUTE_TESTS:333        runner = unittest.TextTestRunner()334        runner.run(suite)335 336    print("numpy version: "+str(numpy.__version__))337    print("pandas version: "+str(pandas.__version__))338    print("networkx version: "+str(networkx.__version__))339 340    if importlib.util.find_spec("scipy"):341        import scipy342        print("scipy version: "+str(scipy.__version__))343 344    if importlib.util.find_spec("lxml"):345        import lxml346        print("lxml version: "+str(lxml.__version__))347 348    if importlib.util.find_spec("matplotlib"):349        import matplotlib350        print("matplotlib version: "+str(matplotlib.__version__))351 352    if importlib.util.find_spec("sklearn"):353        import sklearn354        print("sklearn version: "+str(sklearn.__version__))355 356    print("pm4py version: "+str(pm4py.__version__))357    print("Python version: "+str(sys.version))358 359 360if __name__ == "__main__":361    main()362