Skip to content

Commit add717a

Browse files
committed
add tests
1 parent 395bd86 commit add717a

File tree

2 files changed

+34
-0
lines changed

2 files changed

+34
-0
lines changed

src/range.rs

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,5 +448,25 @@ pub mod tests {
448448
fn contains_intersection(range in strategy(), version in version_strat()) {
449449
assert_eq!(range.contains(&version), range.intersection(&Range::exact(version)) != Range::none());
450450
}
451+
452+
#[test]
453+
fn contains_as_range_bounds(range in strategy(), version in version_strat()) {
454+
if range.contains(&version) {
455+
assert!(range.as_range_bounds().map(|b| b.contains(&version)).unwrap_or(false));
456+
}
457+
}
458+
459+
#[test]
460+
fn from_range_bounds(range in any::<(Bound<u32>, Bound<u32>)>(), version in version_strat()) {
461+
let rv: Range<NumberVersion> = Range::from_range_bounds(&range);
462+
assert_eq!(range.contains(&version.0), rv.contains(&version));
463+
}
464+
465+
#[test]
466+
fn from_range_bounds_round_trip(range in any::<(Bound<u32>, Bound<u32>)>()) {
467+
let rv: Range<NumberVersion> = Range::from_range_bounds(&range);
468+
let rv2: Range<NumberVersion> = rv.as_range_bounds().as_ref().map(Range::from_range_bounds::<_, NumberVersion>).unwrap_or_else(Range::none);
469+
assert_eq!(rv, rv2);
470+
}
451471
}
452472
}

src/version.rs

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,13 @@ impl From<&(u32, u32, u32)> for SemanticVersion {
8888
}
8989
}
9090

91+
// Convert an &version into a version.
92+
impl From<&SemanticVersion> for SemanticVersion {
93+
fn from(v: &SemanticVersion) -> Self {
94+
v.clone()
95+
}
96+
}
97+
9198
// Convert a version into a tuple (major, minor, patch).
9299
impl From<SemanticVersion> for (u32, u32, u32) {
93100
fn from(v: SemanticVersion) -> Self {
@@ -252,6 +259,13 @@ impl From<&u32> for NumberVersion {
252259
}
253260
}
254261

262+
// Convert an &version into a version.
263+
impl From<&NumberVersion> for NumberVersion {
264+
fn from(v: &NumberVersion) -> Self {
265+
v.clone()
266+
}
267+
}
268+
255269
// Convert a version into an usize.
256270
impl From<NumberVersion> for u32 {
257271
fn from(version: NumberVersion) -> Self {

0 commit comments

Comments
 (0)