#![cfg(test)]
use crate::mode::SampleDepth;
use crate::mode::sample_depth::Inner;
#[cfg(not(miri))]
use std::assert_matches;
#[cfg(not(miri))]
#[test]
fn test_invalid_sample_depth() {
for value in 0..=0 {
assert_matches!(SampleDepth::new(value), None);
}
for value in 9..=u32::MAX {
assert_matches!(SampleDepth::new(value), None);
}
}
#[test]
fn test_sample_depth() {
for value in 1..=8 {
let depth = SampleDepth::new(value).unwrap();
assert_eq!(depth.get(), value);
assert_eq!(depth.as_u64(), u64::from(value));
}
}
#[test]
fn test_sample_depth_inner() {
assert_eq!(Inner::U8 as u8, 1);
assert_eq!(Inner::U16 as u8, 2);
assert_eq!(Inner::U24 as u8, 3);
assert_eq!(Inner::U32 as u8, 4);
assert_eq!(Inner::U40 as u8, 5);
assert_eq!(Inner::U48 as u8, 6);
assert_eq!(Inner::U56 as u8, 7);
assert_eq!(Inner::U64 as u8, 8);
}