pyver/ids/
release_id.rs

1use serde::{Deserialize, Serialize};
2
3/// `PEP-440` Release numbers
4#[derive(Debug, Serialize, Deserialize, Eq, PartialEq, PartialOrd)]
5pub struct ReleaseHeader {
6    /// Major release such as 1.0 or breaking changes
7    pub major: u32,
8    /// Minor release Such as new functionality
9    pub minor: u32,
10}
11
12#[cfg(test)]
13mod test {
14    use super::ReleaseHeader;
15
16    #[test]
17    fn test_release_ordering() {
18        assert!(
19            ReleaseHeader { major: 1, minor: 0 } > ReleaseHeader { major: 0, minor: 0 }
20        );
21        assert!(
22            ReleaseHeader { major: 1, minor: 1 } > ReleaseHeader { major: 1, minor: 0 }
23        );
24        assert!(
25            ReleaseHeader { major: 2, minor: 1 }
26                > ReleaseHeader {
27                    major: 1,
28                    minor: 52,
29                }
30        );
31    }
32}