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]>,
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);
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);
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);
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);
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);
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);
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);