/rust/registry/src/index.crates.io-6f17d22bba15001f/revision-0.11.0/src/implementations/reverse.rs
Line | Count | Source (jump to first uncovered line) |
1 | | use super::super::Error; |
2 | | use super::super::Revisioned; |
3 | | use std::cmp::Reverse; |
4 | | |
5 | | impl<T> Revisioned for Reverse<T> |
6 | | where |
7 | | T: Revisioned, |
8 | | { |
9 | | #[inline] |
10 | 0 | fn serialize_revisioned<W: std::io::Write>(&self, writer: &mut W) -> Result<(), Error> { |
11 | 0 | self.0.serialize_revisioned(writer) |
12 | 0 | } |
13 | | |
14 | | #[inline] |
15 | 0 | fn deserialize_revisioned<R: std::io::Read>(reader: &mut R) -> Result<Self, Error> { |
16 | 0 | Ok(Reverse(T::deserialize_revisioned(reader)?)) |
17 | 0 | } |
18 | | |
19 | 0 | fn revision() -> u16 { |
20 | 0 | 1 |
21 | 0 | } |
22 | | } |
23 | | |
24 | | #[cfg(test)] |
25 | | mod tests { |
26 | | |
27 | | use super::Revisioned; |
28 | | use std::cmp::Reverse; |
29 | | |
30 | | #[test] |
31 | | fn test_reverse() { |
32 | | let val: Reverse<u32> = Reverse(u32::MAX); |
33 | | let mut mem: Vec<u8> = vec![]; |
34 | | val.serialize_revisioned(&mut mem).unwrap(); |
35 | | assert_eq!(mem.len(), 5); |
36 | | let out = |
37 | | <Reverse<u32> as Revisioned>::deserialize_revisioned(&mut mem.as_slice()).unwrap(); |
38 | | assert_eq!(val, out); |
39 | | } |
40 | | } |