///|
fn main raise {
let log = @p.EventLog::new([
@p.LogEvent::new("a", "ticket-a", "repair", 0L, 10L, resource=Some("team")),
@p.LogEvent::new("b", "ticket-b", "repair", 5L, 15L, resource=Some("team")),
])
let occupied = log.resource_timeline("team", 0L, 20L)
assert_eq(occupied[1].active, 2)
let windows = log.flow_windows(0L, 20L, 10L)
assert_eq(windows[0].mean_observed_wip, 1.5)
assert_eq(windows[1].cases_completed, 2)
println(
"Observed team concurrency and whole-case flow windows distinguish overlap, carry-in and completions",
)
}