Files
2022B2-REB/Assignment-2/conformance_testing.py
NikolajDanger c215157190
2023-01-04 17:03:44 +01:00

29 lines
674 B
Python

import pandas as pd
from DCR_graph import Graph
def conformance_test(log:pd.DataFrame, dcr_graph:Graph):
all_event_names = {
value.name:value for value in dcr_graph.id_dict.values()
}
log = log.sort_values(by="Date")
for _, event in log.iterrows():
event_name = event.EventName.lower()
if event_name not in all_event_names:
if "_ROW_" not in all_event_names:
return False
event_name = "_ROW_"
if not all_event_names[event_name].enabled:
return False
all_event_names[event_name].execute()
if dcr_graph.pending != []:
return False
return True