1
1
//! `RINEX` revision description
2
2
use crate :: prelude:: ParsingError ;
3
3
4
- /// Current `RINEX` version supported to this day
5
- pub const SUPPORTED_VERSION : Version = Version { major : 4 , minor : 2 } ;
6
-
7
4
/// Version is used to describe RINEX standards revisions.
8
5
#[ derive( Copy , Clone , Debug , PartialEq , Eq , PartialOrd , Ord ) ]
9
6
#[ cfg_attr( feature = "serde" , derive( Serialize , Deserialize ) ) ]
@@ -17,7 +14,7 @@ pub struct Version {
17
14
impl Default for Version {
18
15
/// Builds a default `Version` object
19
16
fn default ( ) -> Self {
20
- SUPPORTED_VERSION
17
+ Version :: new ( 4 , 0 )
21
18
}
22
19
}
23
20
@@ -106,32 +103,19 @@ impl std::str::FromStr for Version {
106
103
}
107
104
108
105
impl Version {
109
- /// Builds a new ` Version` object
106
+ /// Builds a new [ Version]
110
107
pub fn new ( major : u8 , minor : u8 ) -> Self {
111
108
Self { major, minor }
112
109
}
113
- /// Returns true if this version is supported
114
- pub fn is_supported ( & self ) -> bool {
115
- if self . major < SUPPORTED_VERSION . major {
116
- true
117
- } else if self . major == SUPPORTED_VERSION . major {
118
- self . minor <= SUPPORTED_VERSION . minor
119
- } else {
120
- false
121
- }
122
- }
123
110
}
124
111
125
112
#[ cfg( test) ]
126
113
mod test {
127
114
use super :: * ;
128
115
use std:: str:: FromStr ;
116
+
129
117
#[ test]
130
118
fn version ( ) {
131
- let version = Version :: default ( ) ;
132
- assert_eq ! ( version. major, SUPPORTED_VERSION . major) ;
133
- assert_eq ! ( version. minor, SUPPORTED_VERSION . minor) ;
134
-
135
119
let version = Version :: from_str ( "1" ) ;
136
120
assert ! ( version. is_ok( ) ) ;
137
121
let version = version. unwrap ( ) ;
@@ -153,25 +137,15 @@ mod test {
153
137
let version = Version :: from_str ( "a.b" ) ;
154
138
assert ! ( version. is_err( ) ) ;
155
139
}
156
- #[ test]
157
- fn supported_version ( ) {
158
- let version = Version :: default ( ) ;
159
- assert ! ( version. is_supported( ) ) ;
160
- let version = SUPPORTED_VERSION ;
161
- assert ! ( version. is_supported( ) ) ;
162
- }
163
- #[ test]
164
- fn non_supported_version ( ) {
165
- let version = Version :: new ( 5 , 0 ) ;
166
- assert ! ( !version. is_supported( ) ) ;
167
- }
140
+
168
141
#[ test]
169
142
fn version_comparison ( ) {
170
143
let v_a = Version :: from_str ( "1.2" ) . unwrap ( ) ;
171
144
let v_b = Version :: from_str ( "3.02" ) . unwrap ( ) ;
172
145
assert ! ( v_b > v_a) ;
173
146
assert ! ( v_b != v_a) ;
174
147
}
148
+
175
149
#[ test]
176
150
fn version_arithmetics ( ) {
177
151
let version = Version :: new ( 3 , 2 ) ;
0 commit comments