Skip to main content

ps_ecc/long/header/overlap_factor/implementations/into/
u8.rs

1use crate::long::header::OverlapFactor;
2
3impl From<OverlapFactor> for u8 {
4    #[inline]
5    fn from(factor: OverlapFactor) -> Self {
6        factor.to_u8()
7    }
8}
9
10#[cfg(test)]
11mod tests {
12    use crate::long::OverlapFactor;
13
14    #[test]
15    fn test_u8_from_overlap_factor() {
16        assert_eq!(u8::from(OverlapFactor::Simple), 0);
17        assert_eq!(u8::from(OverlapFactor::Double), 64);
18        assert_eq!(u8::from(OverlapFactor::Triple), 128);
19        assert_eq!(u8::from(OverlapFactor::Quadruple), 192);
20    }
21
22    #[test]
23    fn test_conversion_roundtrip() {
24        for factor in [
25            OverlapFactor::Simple,
26            OverlapFactor::Double,
27            OverlapFactor::Triple,
28            OverlapFactor::Quadruple,
29        ] {
30            assert_eq!(OverlapFactor::from(u8::from(factor)), factor);
31        }
32    }
33}