common: Rename TimeAndPos::latitude to latitude_deg.
[gps-watch.git] / test / logger_test.rs
index b11005568bdb95dacfc6327d870ac67a79aeaaa4..a0308218e85d576a96fc665be73a8d48c39a49ab 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]>,
@@ -113,8 +116,10 @@ fn first_recording() {
     let tap = gps::TimeAndPos {
         system_time: 0,
         unix_time: 1478026311,
-        latitude: 0x73234e,
-        longitude: 0x73234f,
+        latitude_deg: 0x73234e,
+        longitude_deg: 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);
@@ -167,8 +172,10 @@ fn second_recording() {
     let tap = gps::TimeAndPos {
         system_time: 0,
         unix_time: 1478026312,
-        latitude: 0x73234e,
-        longitude: 0x73234f,
+        latitude_deg: 0x73234e,
+        longitude_deg: 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);
@@ -212,8 +219,10 @@ fn multi_sector_recording() {
     let tap = gps::TimeAndPos {
         system_time: 0,
         unix_time: 1578425250,
-        latitude: 0x73234e,
-        longitude: 0x73234f,
+        latitude_deg: 0x73234e,
+        longitude_deg: 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);
@@ -225,8 +234,12 @@ fn multi_sector_recording() {
         let tap = gps::TimeAndPos {
             system_time: 0,
             unix_time: prev_tap.unix_time + 1,
-            latitude: prev_tap.latitude + 1,
-            longitude: prev_tap.longitude + 1,
+            latitude_deg: prev_tap.latitude_deg + 1,
+            longitude_deg: prev_tap.longitude_deg + 1,
+            latitude_rad: Fixed::from_f32(
+                (prev_tap.latitude_deg + 1) as f32 / 600000.0).to_radians(),
+            longitude_rad: Fixed::from_f32(
+                (prev_tap.longitude_deg + 1) as f32 / 600000.0).to_radians(),
         };
 
         logger.log(&prev_tap, &tap);
@@ -322,8 +335,10 @@ fn get_recording_valid() {
     let tap0 = gps::TimeAndPos {
         system_time: 0,
         unix_time: 1478026311,
-        latitude: 0x73234e,
-        longitude: 0x73234f,
+        latitude_deg: 0x73234e,
+        longitude_deg: 0x73234f,
+        latitude_rad: Fixed::from_f32(12.57613).to_radians(),
+        longitude_rad: Fixed::from_f32(12.576131666666667).to_radians(),
     };
 
     logger.start_recording(&tap0);
@@ -331,8 +346,10 @@ fn get_recording_valid() {
     let tap1 = gps::TimeAndPos {
         system_time: 0,
         unix_time: 1478026311 + 1,
-        latitude: 0x73234e + 5,
-        longitude: 0x73234f + 5,
+        latitude_deg: 0x73234e + 5,
+        longitude_deg: 0x73234f + 5,
+        latitude_rad: Fixed::from_f32(12.576138333333333).to_radians(),
+        longitude_rad: Fixed::from_f32(12.57614).to_radians(),
     };
 
     logger.log(&tap0, &tap1);
@@ -340,8 +357,10 @@ fn get_recording_valid() {
     let tap2 = gps::TimeAndPos {
         system_time: 0,
         unix_time: 1478026311 + 2,
-        latitude: 0x73234e + 10,
-        longitude: 0x73234f + 10,
+        latitude_deg: 0x73234e + 10,
+        longitude_deg: 0x73234f + 10,
+        latitude_rad: Fixed::from_f32(12.576146666666666).to_radians(),
+        longitude_rad: Fixed::from_f32(12.576148333333334).to_radians(),
     };
 
     logger.log(&tap1, &tap2);
@@ -425,7 +444,7 @@ fn list_recordings1() {
     let num_bytes_read = file.read(&mut listing_raw).unwrap();
 
     let expected_bytes = b"\
-2020-01-07 19:27:30              1\n";
+2020-01-07 19:27:30       4K       1\n";
 
     assert_eq!(String::from_utf8(expected_bytes.to_vec()).unwrap(),
                String::from_utf8(listing_raw[0..num_bytes_read].to_vec()).unwrap());
@@ -477,7 +496,7 @@ fn list_recording1_multi_sector() {
     let num_bytes_read = file.read(&mut listing_raw).unwrap();
 
     let expected_bytes = b"\
-2020-01-09 12:11:33              1\n";
+2020-01-09 12:11:33       8K       1\n";
 
     assert_eq!(String::from_utf8(expected_bytes.to_vec()).unwrap(),
                String::from_utf8(listing_raw[0..num_bytes_read].to_vec()).unwrap());