common: Store GPS coordinates in radians, too.
[gps-watch.git] / test / logger_test.rs
index cf4984a3d4dd562ec7d642311cc039061d993e60..7b0cdbd1391455d5361d9cc0672f2c4d6a84ad32 100644 (file)
 use std::io::{Read, Write};
 use std::os::unix::io::FromRawFd;
 use common::buffer::{Buffer, BufferUserData};
+use common::fixed15_49;
 use common::gps;
 use common::storage::{Storage, Error};
 use common::logger::{MEMORY_SIZE, Logger, Error as LoggerError};
 
+type Fixed = fixed15_49::Fixed15_49;
+
 struct FakeStorage {
     expected: Box<[u8]>,
     actual: Box<[u8]>,
@@ -115,6 +118,8 @@ fn first_recording() {
         unix_time: 1478026311,
         latitude: 0x73234e,
         longitude: 0x73234f,
+        latitude_rad: Fixed::from_f32(12.57613).to_radians(),
+        longitude_rad: Fixed::from_f32(12.576131666666667).to_radians(),
     };
 
     let recording_id = logger.start_recording(&tap);
@@ -169,6 +174,8 @@ fn second_recording() {
         unix_time: 1478026312,
         latitude: 0x73234e,
         longitude: 0x73234f,
+        latitude_rad: Fixed::from_f32(12.57613).to_radians(),
+        longitude_rad: Fixed::from_f32(12.576131666666667).to_radians(),
     };
 
     let recording_id = logger.start_recording(&tap);
@@ -214,6 +221,8 @@ fn multi_sector_recording() {
         unix_time: 1578425250,
         latitude: 0x73234e,
         longitude: 0x73234f,
+        latitude_rad: Fixed::from_f32(12.57613).to_radians(),
+        longitude_rad: Fixed::from_f32(12.576131666666667).to_radians(),
     };
 
     let recording_id = logger.start_recording(&tap);
@@ -227,6 +236,10 @@ fn multi_sector_recording() {
             unix_time: prev_tap.unix_time + 1,
             latitude: prev_tap.latitude + 1,
             longitude: prev_tap.longitude + 1,
+            latitude_rad: Fixed::from_f32(
+                (prev_tap.latitude + 1) as f32 / 600000.0).to_radians(),
+            longitude_rad: Fixed::from_f32(
+                (prev_tap.longitude + 1) as f32 / 600000.0).to_radians(),
         };
 
         logger.log(&prev_tap, &tap);
@@ -324,6 +337,8 @@ fn get_recording_valid() {
         unix_time: 1478026311,
         latitude: 0x73234e,
         longitude: 0x73234f,
+        latitude_rad: Fixed::from_f32(12.57613).to_radians(),
+        longitude_rad: Fixed::from_f32(12.576131666666667).to_radians(),
     };
 
     logger.start_recording(&tap0);
@@ -333,6 +348,8 @@ fn get_recording_valid() {
         unix_time: 1478026311 + 1,
         latitude: 0x73234e + 5,
         longitude: 0x73234f + 5,
+        latitude_rad: Fixed::from_f32(12.576138333333333).to_radians(),
+        longitude_rad: Fixed::from_f32(12.57614).to_radians(),
     };
 
     logger.log(&tap0, &tap1);
@@ -342,6 +359,8 @@ fn get_recording_valid() {
         unix_time: 1478026311 + 2,
         latitude: 0x73234e + 10,
         longitude: 0x73234f + 10,
+        latitude_rad: Fixed::from_f32(12.576146666666666).to_radians(),
+        longitude_rad: Fixed::from_f32(12.576148333333334).to_radians(),
     };
 
     logger.log(&tap1, &tap2);