use oa_core::{ validation::{Severity, validate}, *, }; #[test] fn sequence_gaps_name_occurrences_exchanges_and_endpoints() { let mut p = Project::demo(); let first = p .relations .values() .find(|r| r.kind() == RelationKind::Interaction) .unwrap() .clone(); let process = p .elements .values() .find(|e| e.kind() == Kind::Process) .unwrap() .id; let other = p.add(Kind::Activity, "Unrelated work", 0., 0.); let reply = p.relate( RelationKind::Interaction, "Unrelated message", other, first.source(), ); let p = execute_batch(&p, &[Command::AddStep(process, reply)]).unwrap(); let issue = validate(&p) .into_iter() .find(|i| i.code == "sequence_gap") .unwrap(); assert_eq!(issue.severity, Severity::Warning); assert_eq!(issue.element, Some(process)); assert!(issue.message.contains("steps 1 and 2")); assert!(issue.message.contains("Distress signal")); assert!(issue.message.contains("Unrelated message")); }