use crate::support::{TestContextVersioning, Version};
#[macro_use]
mod support;
struct MockTestContext {
version: Version,
}
impl MockTestContext {
fn new(version: Version) -> Self {
Self { version }
}
}
impl TestContextVersioning for MockTestContext {
fn get_version(&self) -> Version {
self.version
}
}
#[test]
fn support_exact_match() {
let mock = MockTestContext::new((42, 4711, 23));
assert!(mock.supports((42, 4711, 23)));
}
#[test]
fn support_major_smaller() {
let mock = MockTestContext::new((42, 4711, 23));
assert!(mock.supports((41, 4712, 24)));
}
#[test]
fn support_major_bigger() {
let mock = MockTestContext::new((42, 4711, 23));
assert!(!mock.supports((43, 4710, 22)));
}
#[test]
fn support_major_match_minor_smaller() {
let mock = MockTestContext::new((42, 4711, 23));
assert!(mock.supports((42, 4710, 24)));
}
#[test]
fn support_major_match_minor_bigger() {
let mock = MockTestContext::new((42, 4711, 23));
assert!(!mock.supports((42, 4712, 22)));
}
#[test]
fn support_major_match_minor_match_patch_smaller() {
let mock = MockTestContext::new((42, 4711, 23));
assert!(mock.supports((42, 4711, 22)));
}
#[test]
fn support_major_match_minor_match_patch_bigger() {
let mock = MockTestContext::new((42, 4711, 23));
assert!(!mock.supports((42, 4711, 24)));
}