From 3ae6e651e9350e548f39c75a13f7a643ab6de7d8 Mon Sep 17 00:00:00 2001 From: ripytide Date: Fri, 21 Apr 2023 12:42:46 +0100 Subject: [PATCH] all non-doc tests passing --- src/lib.rs | 1 + src/range_bounds_map.rs | 15 +++++++++++---- src/test_ranges.rs | 2 +- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/lib.rs b/src/lib.rs index 9f12961..4dd45ec 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -227,5 +227,6 @@ pub mod range_bounds_map; pub mod range_bounds_set; pub use crate::discrete_bounds::FiniteBounds; +pub use crate::discrete_finite::DiscreteFinite; pub use crate::range_bounds_map::{OverlapError, RangeBoundsMap}; pub use crate::range_bounds_set::RangeBoundsSet; diff --git a/src/range_bounds_map.rs b/src/range_bounds_map.rs index 10b6fe9..d0021cb 100644 --- a/src/range_bounds_map.rs +++ b/src/range_bounds_map.rs @@ -1467,14 +1467,20 @@ where I: Ord + Copy + DiscreteFinite, K: FiniteRange, { - move |inner_range: &K| start.cmp(&inner_range.end().up().unwrap()) + move |inner_range: &K| match inner_range.end().up() { + Some(touching_position) => start.cmp(&touching_position), + None => Ordering::Less, + } } fn touching_end_comp(end: I) -> impl FnMut(&K) -> Ordering where I: Ord + Copy + DiscreteFinite, K: FiniteRange, { - move |inner_range: &K| end.cmp(&inner_range.start().down().unwrap()) + move |inner_range: &K| match inner_range.start().down() { + Some(touching_position) => end.cmp(&touching_position), + None => Ordering::Greater, + } } /// A simple helper trait to make my implemtation nicer, if you @@ -1834,7 +1840,7 @@ mod tests { .unwrap() .gaps(uu()) .collect::>(), - [ui(i8::MIN), iu(i8::MAX)] + [] ); } fn assert_gaps( @@ -1907,6 +1913,7 @@ mod tests { Err(OverlapError), basic_slice(), ); + dbg!("hererere"); assert_insert_merge_touching_if_values_equal( basic(), (ee(7, 10), false), @@ -2127,7 +2134,7 @@ mod tests { // The definition of a cut is: A && NOT B for x in NUMBERS_DOMAIN { let base_contains = contains_point(base, *x); - let cut_contains = contains_point(base, *x); + let cut_contains = contains_point(cut, *x); if cut_contains { on_left = false; diff --git a/src/test_ranges.rs b/src/test_ranges.rs index f8b9945..7f83f16 100644 --- a/src/test_ranges.rs +++ b/src/test_ranges.rs @@ -33,7 +33,7 @@ pub fn ii(x1: i8, x2: i8) -> FiniteBounds { } pub fn ie(x1: i8, x2: i8) -> FiniteBounds { FiniteBounds { - start: x1.up().unwrap(), + start: x1, end: x2.down().unwrap(), } }