use crate::model::id::BpmnId;
#[derive(Debug, PartialEq, Eq, Clone)]
pub enum ProcessWellFormednessViolation {
ProcessHasNoStartEvent,
ProcessHasNoEndEvent,
WrongNumberOfIncomingFlows(BpmnId),
WrongNumberOfOutgoingFlows(BpmnId),
EndEventHasSucessor(BpmnId),
ThrowEventHasSucessor(BpmnId),
ActivityHasNotExactlyOnePrecedessor(BpmnId),
ActivityHasNotExactlyOneSucessor(BpmnId),
SequenceFlowDoesNotRelateElementsInSameProcess(BpmnId)
}
#[derive(Debug, PartialEq, Eq, Clone)]
pub enum ModelWellFormednessViolation {
ProcessViolation(BpmnId,ProcessWellFormednessViolation),
NoTopLevelProcess,
ThrowEventHasMoreThanOneSuccessor(BpmnId),
CatchEventHasMoreThanOnePredecessor(BpmnId),
ThrowEventHasNoSuccessor(BpmnId),
CatchEventHasNoPredecessor(BpmnId)
}