io_trait/
metadata.rs

1use std::fs;
2
3#[allow(clippy::len_without_is_empty)]
4pub trait Metadata {
5    fn len(&self) -> u64;
6    fn is_dir(&self) -> bool;
7}
8
9impl Metadata for fs::Metadata {
10    fn len(&self) -> u64 {
11        self.len()
12    }
13    fn is_dir(&self) -> bool {
14        self.is_dir()
15    }
16}
17
18#[cfg(test)]
19mod test {
20    use std::fs;
21
22    use crate::Metadata;
23
24    #[test]
25    fn test() {
26        let m = fs::metadata("Cargo.toml").unwrap();
27        assert_ne!(Metadata::len(&m), 0);
28        assert_eq!(Metadata::is_dir(&m), false);
29    }
30}