mod builder;
mod set;
mod test_support {
use int_interval::U16CO;
use proptest::prelude::*;
#[inline]
pub(super) fn iv(start: u16, end_excl: u16) -> U16CO {
U16CO::try_new(start, end_excl).unwrap()
}
pub(super) const MID_VALUE: u16 = u16::MAX / 2 + 1;
pub(super) fn interval_pair() -> impl Strategy<Value = (u16, u16)> {
(any::<u16>(), any::<u16>()).prop_filter_map("non-empty half-open interval", |(a, b)| {
let start = a.min(b);
let end_excl = a.max(b);
(start < end_excl).then_some((start, end_excl))
})
}
pub(super) fn build_from_vec(xs: Vec<(u16, u16)>) -> crate::U16COSet {
let b = crate::U16COSetBuilder::new();
for (start, end_excl) in xs {
b.insert(iv(start, end_excl));
}
b.seal()
}
}