use super::*;
use alloc::{format, vec, vec::Vec};
#[test]
fn empty_set_is_empty() {
let range_set: SegmentSet<u32> = SegmentSet::new();
assert_eq!(range_set.into_vec(), Vec::<Segment<u32>>::new());
}
#[test]
fn insert_into_empty_map() {
let mut range_set: SegmentSet<u32> = SegmentSet::new();
range_set.insert(0..50);
assert_eq!(range_set.into_vec(), vec![0..50]);
}
#[test]
fn remove_partially_overlapping() {
let mut range_set: SegmentSet<u32> = SegmentSet::new();
range_set.insert(0..50);
range_set.remove(25..75);
assert_eq!(range_set.into_vec(), vec![0..25]);
}
#[test]
fn set_debug_repr_looks_right() {
let mut set: SegmentSet<u32> = SegmentSet::new();
assert_eq!(format!("{:?}", set), "{}");
set.insert(2..5);
assert_eq!(format!("{:?}", set), "{[2, 5)}");
set.insert(7..=8);
set.insert(10..11);
assert_eq!(format!("{:?}", set), "{[2, 5), [7, 8], [10, 11)}");
}