@@ -14,10 +14,10 @@ use std::fmt;
1414/// Supported speed units
1515#[ derive( Debug , Clone , Copy , PartialEq ) ]
1616pub enum SpeedUnit {
17- /// Kilometres per hour (km/h)
18- KilometresPerHour ,
19- /// Metres per second (m/s) - SI derived unit
20- MetresPerSecond ,
17+ /// Kilometers per hour (km/h)
18+ KilometersPerHour ,
19+ /// Meters per second (m/s) - SI derived unit
20+ MetersPerSecond ,
2121 /// Miles per hour (mph)
2222 MilesPerHour ,
2323 /// Nautical miles per hour (knot)
@@ -33,8 +33,8 @@ pub enum SpeedUnit {
3333impl fmt:: Display for SpeedUnit {
3434 fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
3535 match self {
36- SpeedUnit :: KilometresPerHour => write ! ( f, "km/h" ) ,
37- SpeedUnit :: MetresPerSecond => write ! ( f, "m/s" ) ,
36+ SpeedUnit :: KilometersPerHour => write ! ( f, "km/h" ) ,
37+ SpeedUnit :: MetersPerSecond => write ! ( f, "m/s" ) ,
3838 SpeedUnit :: MilesPerHour => write ! ( f, "mph" ) ,
3939 SpeedUnit :: Knot => write ! ( f, "knot" ) ,
4040 SpeedUnit :: FeetPerSecond => write ! ( f, "ft/s" ) ,
@@ -48,8 +48,8 @@ impl SpeedUnit {
4848 /// Get the conversion factor to km/h
4949 fn as_kmh_multiplier ( self ) -> f64 {
5050 match self {
51- SpeedUnit :: KilometresPerHour => 1.0 ,
52- SpeedUnit :: MetresPerSecond => 3.6 ,
51+ SpeedUnit :: KilometersPerHour => 1.0 ,
52+ SpeedUnit :: MetersPerSecond => 3.6 ,
5353 SpeedUnit :: MilesPerHour => 1.609344 ,
5454 SpeedUnit :: Knot => 1.852 ,
5555 SpeedUnit :: FeetPerSecond => 1.09728 ,
@@ -61,8 +61,8 @@ impl SpeedUnit {
6161 /// Get the conversion factor from km/h to this unit
6262 fn kmh_multiplier ( self ) -> f64 {
6363 match self {
64- SpeedUnit :: KilometresPerHour => 1.0 ,
65- SpeedUnit :: MetresPerSecond => 0.277777778 ,
64+ SpeedUnit :: KilometersPerHour => 1.0 ,
65+ SpeedUnit :: MetersPerSecond => 0.277777778 ,
6666 SpeedUnit :: MilesPerHour => 0.621371192 ,
6767 SpeedUnit :: Knot => 0.539956803 ,
6868 SpeedUnit :: FeetPerSecond => 0.911344415 ,
@@ -98,72 +98,72 @@ mod tests {
9898 assert_eq ! (
9999 convert_speed(
100100 100.0 ,
101- SpeedUnit :: KilometresPerHour ,
102- SpeedUnit :: MetresPerSecond
101+ SpeedUnit :: KilometersPerHour ,
102+ SpeedUnit :: MetersPerSecond
103103 ) ,
104104 27.778
105105 ) ;
106106 assert_eq ! (
107- convert_speed( 100.0 , SpeedUnit :: KilometresPerHour , SpeedUnit :: MilesPerHour ) ,
107+ convert_speed( 100.0 , SpeedUnit :: KilometersPerHour , SpeedUnit :: MilesPerHour ) ,
108108 62.137
109109 ) ;
110110 assert_eq ! (
111- convert_speed( 100.0 , SpeedUnit :: KilometresPerHour , SpeedUnit :: Knot ) ,
111+ convert_speed( 100.0 , SpeedUnit :: KilometersPerHour , SpeedUnit :: Knot ) ,
112112 53.996
113113 ) ;
114114 assert_eq ! (
115115 convert_speed(
116116 100.0 ,
117- SpeedUnit :: MetresPerSecond ,
118- SpeedUnit :: KilometresPerHour
117+ SpeedUnit :: MetersPerSecond ,
118+ SpeedUnit :: KilometersPerHour
119119 ) ,
120120 360.0
121121 ) ;
122122 assert_eq ! (
123- convert_speed( 100.0 , SpeedUnit :: MetresPerSecond , SpeedUnit :: MilesPerHour ) ,
123+ convert_speed( 100.0 , SpeedUnit :: MetersPerSecond , SpeedUnit :: MilesPerHour ) ,
124124 223.694
125125 ) ;
126126 assert_eq ! (
127- convert_speed( 100.0 , SpeedUnit :: MetresPerSecond , SpeedUnit :: Knot ) ,
127+ convert_speed( 100.0 , SpeedUnit :: MetersPerSecond , SpeedUnit :: Knot ) ,
128128 194.384
129129 ) ;
130130 assert_eq ! (
131- convert_speed( 100.0 , SpeedUnit :: MilesPerHour , SpeedUnit :: KilometresPerHour ) ,
131+ convert_speed( 100.0 , SpeedUnit :: MilesPerHour , SpeedUnit :: KilometersPerHour ) ,
132132 160.934
133133 ) ;
134134 assert_eq ! (
135- convert_speed( 100.0 , SpeedUnit :: MilesPerHour , SpeedUnit :: MetresPerSecond ) ,
135+ convert_speed( 100.0 , SpeedUnit :: MilesPerHour , SpeedUnit :: MetersPerSecond ) ,
136136 44.704
137137 ) ;
138138 assert_eq ! (
139139 convert_speed( 100.0 , SpeedUnit :: MilesPerHour , SpeedUnit :: Knot ) ,
140140 86.898
141141 ) ;
142142 assert_eq ! (
143- convert_speed( 100.0 , SpeedUnit :: Knot , SpeedUnit :: KilometresPerHour ) ,
143+ convert_speed( 100.0 , SpeedUnit :: Knot , SpeedUnit :: KilometersPerHour ) ,
144144 185.2
145145 ) ;
146146 assert_eq ! (
147- convert_speed( 100.0 , SpeedUnit :: Knot , SpeedUnit :: MetresPerSecond ) ,
147+ convert_speed( 100.0 , SpeedUnit :: Knot , SpeedUnit :: MetersPerSecond ) ,
148148 51.444
149149 ) ;
150150 assert_eq ! (
151151 convert_speed( 100.0 , SpeedUnit :: Knot , SpeedUnit :: MilesPerHour ) ,
152152 115.078
153153 ) ;
154154 assert_eq ! (
155- convert_speed( 100.0 , SpeedUnit :: FeetPerSecond , SpeedUnit :: MetresPerSecond ) ,
155+ convert_speed( 100.0 , SpeedUnit :: FeetPerSecond , SpeedUnit :: MetersPerSecond ) ,
156156 30.48
157157 ) ;
158158 assert_eq ! (
159- convert_speed( 100.0 , SpeedUnit :: MetresPerSecond , SpeedUnit :: FeetPerSecond ) ,
159+ convert_speed( 100.0 , SpeedUnit :: MetersPerSecond , SpeedUnit :: FeetPerSecond ) ,
160160 328.084
161161 ) ;
162162 assert_eq ! (
163163 convert_speed(
164164 100.0 ,
165165 SpeedUnit :: FeetPerSecond ,
166- SpeedUnit :: KilometresPerHour
166+ SpeedUnit :: KilometersPerHour
167167 ) ,
168168 109.728
169169 ) ;
@@ -172,48 +172,59 @@ mod tests {
172172 68.182
173173 ) ;
174174 assert_eq ! (
175- convert_speed( 1.0 , SpeedUnit :: Mach , SpeedUnit :: KilometresPerHour ) ,
175+ convert_speed( 1.0 , SpeedUnit :: Mach , SpeedUnit :: KilometersPerHour ) ,
176176 1225.08
177177 ) ;
178178 assert_eq ! (
179- convert_speed( 1.0 , SpeedUnit :: Mach , SpeedUnit :: MetresPerSecond ) ,
179+ convert_speed( 1.0 , SpeedUnit :: Mach , SpeedUnit :: MetersPerSecond ) ,
180180 340.3
181181 ) ;
182182 assert_eq ! (
183- convert_speed( 1000.0 , SpeedUnit :: KilometresPerHour , SpeedUnit :: Mach ) ,
183+ convert_speed( 1000.0 , SpeedUnit :: KilometersPerHour , SpeedUnit :: Mach ) ,
184184 0.816
185185 ) ;
186186 assert_eq ! (
187- convert_speed( 2.0 , SpeedUnit :: Mach , SpeedUnit :: KilometresPerHour ) ,
187+ convert_speed( 2.0 , SpeedUnit :: Mach , SpeedUnit :: KilometersPerHour ) ,
188188 2450.16
189189 ) ;
190190 assert_eq ! (
191- convert_speed( 1.0 , SpeedUnit :: SpeedOfLight , SpeedUnit :: MetresPerSecond ) ,
191+ convert_speed( 1.0 , SpeedUnit :: SpeedOfLight , SpeedUnit :: MetersPerSecond ) ,
192192 299792458.24
193193 ) ;
194194 assert_eq ! (
195- convert_speed( 1.0 , SpeedUnit :: SpeedOfLight , SpeedUnit :: KilometresPerHour ) ,
195+ convert_speed( 1.0 , SpeedUnit :: SpeedOfLight , SpeedUnit :: KilometersPerHour ) ,
196196 1079252848.8
197197 ) ;
198198 assert_eq ! (
199199 convert_speed(
200200 299792458.0 ,
201- SpeedUnit :: MetresPerSecond ,
201+ SpeedUnit :: MetersPerSecond ,
202202 SpeedUnit :: SpeedOfLight
203203 ) ,
204204 1.0
205205 ) ;
206206 assert_eq ! (
207- convert_speed( 0.1 , SpeedUnit :: SpeedOfLight , SpeedUnit :: MetresPerSecond ) ,
207+ convert_speed( 0.1 , SpeedUnit :: SpeedOfLight , SpeedUnit :: MetersPerSecond ) ,
208208 29979245.824
209209 ) ;
210210 assert_eq ! (
211211 convert_speed(
212212 100.0 ,
213- SpeedUnit :: KilometresPerHour ,
214- SpeedUnit :: KilometresPerHour
213+ SpeedUnit :: KilometersPerHour ,
214+ SpeedUnit :: KilometersPerHour
215215 ) ,
216216 100.0
217217 ) ;
218218 }
219+
220+ #[ test]
221+ fn test_display ( ) {
222+ assert_eq ! ( SpeedUnit :: KilometersPerHour . to_string( ) , "km/h" ) ;
223+ assert_eq ! ( SpeedUnit :: MetersPerSecond . to_string( ) , "m/s" ) ;
224+ assert_eq ! ( SpeedUnit :: MilesPerHour . to_string( ) , "mph" ) ;
225+ assert_eq ! ( SpeedUnit :: Knot . to_string( ) , "knot" ) ;
226+ assert_eq ! ( SpeedUnit :: FeetPerSecond . to_string( ) , "ft/s" ) ;
227+ assert_eq ! ( SpeedUnit :: Mach . to_string( ) , "Mach" ) ;
228+ assert_eq ! ( SpeedUnit :: SpeedOfLight . to_string( ) , "c" ) ;
229+ }
219230}
0 commit comments