use super::*;
use assert2::assert;
type Range<const START: usize, const END: usize> = RiUsize<START, END>;
#[test]
const fn const_range_contains_in_bounds_value() {
const MIN_VOLUME: usize = 0;
const MAX_VOLUME: usize = 11;
type Sut = Range<MIN_VOLUME, MAX_VOLUME>;
const ANNOY_NEIGHBORS: usize = 9;
const EXPECTED: bool = true;
const RESULT: bool = Sut::contains(&ANNOY_NEIGHBORS);
std::assert!(RESULT == EXPECTED);
}
#[test]
const fn const_range_contains_min_bounds_value() {
const MIN_VOLUME: usize = 0;
const MAX_VOLUME: usize = 11;
type Sut = Range<MIN_VOLUME, MAX_VOLUME>;
const MINIMUM: usize = 0;
const EXPECTED: bool = true;
const RESULT: bool = Sut::contains(&MINIMUM);
std::assert!(RESULT == EXPECTED);
}
#[test]
const fn const_range_contains_max_bounds_value() {
const MIN_VOLUME: usize = 0;
const MAX_VOLUME: usize = 11;
type Sut = Range<MIN_VOLUME, MAX_VOLUME>;
const MAXIMUM: usize = 11;
const EXPECTED: bool = true;
const RESULT: bool = Sut::contains(&MAXIMUM);
std::assert!(RESULT == EXPECTED);
}
#[test]
const fn const_range_does_not_contain_low_out_of_bounds_value() {
const GUESS_A_NUMBER_MIN: usize = 1;
const GUESS_A_NUMBER_MAX: usize = 10;
type Sut = Range<GUESS_A_NUMBER_MIN, GUESS_A_NUMBER_MAX>;
const BEYOND_MIN: usize = 0;
const EXPECTED: bool = false;
const RESULT: bool = Sut::contains(&BEYOND_MIN);
std::assert!(RESULT == EXPECTED);
}
#[test]
const fn const_range_does_not_contain_high_out_of_bounds_value() {
const GUESS_A_NUMBER_MIN: usize = 1;
const GUESS_A_NUMBER_MAX: usize = 10;
type Sut = Range<GUESS_A_NUMBER_MIN, GUESS_A_NUMBER_MAX>;
const BEYOND_MAX: usize = 11;
const EXPECTED: bool = false;
const RESULT: bool = Sut::contains(&BEYOND_MAX);
std::assert!(RESULT == EXPECTED);
}
#[test]
fn range_contains_in_bounds_value() {
const MIN_VOLUME: usize = 0;
const MAX_VOLUME: usize = 11;
type Sut = Range<MIN_VOLUME, MAX_VOLUME>;
let annoy_neighbors: usize = 9;
let expected = true;
let result = Sut::contains(&annoy_neighbors);
assert!(result == expected);
}
#[test]
fn range_contains_min_bounds_value() {
const MIN_VOLUME: usize = 0;
const MAX_VOLUME: usize = 11;
type Sut = Range<MIN_VOLUME, MAX_VOLUME>;
let minimum: usize = 0;
let expected = true;
let result = Sut::contains(&minimum);
assert!(result == expected);
}
#[test]
fn range_contains_max_bounds_value() {
const MIN_VOLUME: usize = 0;
const MAX_VOLUME: usize = 11;
type Sut = Range<MIN_VOLUME, MAX_VOLUME>;
let maximum: usize = 11;
let expected = true;
let result = Sut::contains(&maximum);
assert!(result == expected);
}
#[test]
fn range_does_not_contain_high_out_of_bounds_value() {
const MIN_VOLUME: usize = 0;
const MAX_VOLUME: usize = 11;
type Sut = Range<MIN_VOLUME, MAX_VOLUME>;
let beyond_max: usize = 12;
let expected = false;
let result = Sut::contains(&beyond_max);
assert!(result == expected);
}