use super::*;
#[test]
fn closure_does_not_bridge_disjoint_components() {
let off = vec![0, 1, 1, 2, 2];
let tgt = vec![1, 3];
let msk = vec![1, 1];
let out = reference_bidirectional_closure(4, &off, &tgt, &msk, &[0b0001], 0xFFFF_FFFF, 5);
assert_eq!(out, vec![0b0011]);
}
#[test]
fn closure_is_idempotent_at_fixpoint() {
let (off, tgt, msk) = linear_graph();
let saturated = vec![0b1111];
let out = reference_bidirectional_step(4, &off, &tgt, &msk, &saturated, 0xFFFF_FFFF);
assert_eq!(out, saturated);
}