- assert_eq!(tap.latitude, 7545678);
- assert_eq!(tap.longitude, 74256789);
+ assert_eq!(7545678, tap.latitude_deg);
+ assert_eq!(74256789, tap.longitude_deg);
+ assert_eq!(0.21949487565883447, tap.latitude_rad.to_f32());
+ assert_eq!(2.160042433347846, tap.longitude_rad.to_f32());
+}
+
+#[test]
+fn distance_cm0() {
+ let tap0 = gps::TimeAndPos {
+ system_time: 0,
+ unix_time: 0,
+ latitude_deg: 0,
+ longitude_deg: 0,
+ latitude_rad: Fixed::from_f32(49.02541333).to_radians(),
+ longitude_rad: Fixed::from_f32(8.79440167).to_radians(),
+ };
+
+ let tap1 = gps::TimeAndPos {
+ system_time: 1,
+ unix_time: 1,
+ latitude_deg: 0,
+ longitude_deg: 0,
+ latitude_rad: Fixed::from_f32(49.02541000).to_radians(),
+ longitude_rad: Fixed::from_f32(8.79443667).to_radians(),
+ };
+
+ assert_eq!(349, tap1.distance_cm(&tap0));