use wasm4pm_compat::ocel::{
EventObjectLink, Object, ObjectChange, ObjectObjectLink, OcelEvent, OcelLog,
};
#[test]
fn ocel_log_accessors_return_constructed_structure() {
let log = OcelLog::new(
vec![Object::new("o1", "order"), Object::new("o2", "item")],
vec![OcelEvent::new("e1", "create")],
vec![EventObjectLink::new("e1", "o1")],
vec![ObjectObjectLink::new("o1", "o2")],
vec![ObjectChange::new("o1", "status", "shipped")],
);
assert_eq!(log.objects().len(), 2, "two objects");
assert_eq!(log.events().len(), 1, "one event");
assert_eq!(log.event_object_links().len(), 1, "one e2o link");
assert_eq!(log.object_object_links().len(), 1, "one o2o link");
assert_eq!(log.object_changes().len(), 1, "one object change");
assert_eq!(log.validate(), Ok(()), "a fully-structured log validates");
}