1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#[derive(PartialEq, Eq, PartialOrd, Ord, Debug, Clone, Copy)]
pub enum Level {
    Info = 1,
    Debug = 2,
    Trace = 3,
}

#[cfg(test)]
mod test {
    use super::*;

    #[test]
    fn ordering() {
        let mut levels = vec![
            Level::Trace,
            Level::Debug,
            Level::Info,
            Level::Debug,
            Level::Trace,
        ];
        levels.sort();

        assert_eq!(
            levels,
            vec![
                Level::Info,
                Level::Debug,
                Level::Debug,
                Level::Trace,
                Level::Trace
            ]
        );
    }
}