in clock-bound-d/src/response.rs [356:401]
fn test_build_response_before_true_successful() {
let tracking = mock_tracking();
let mut request: Vec<u8> = Vec::new();
// Before request
let request_type: u8 = 2;
// Create a before request to test
// Header
// Version
request.push(RESPONSE_VERSION);
// Command Type
request.push(request_type);
// Reserved
request.push(0);
request.push(0);
// Get the CEB from mock tracking data
let ceb = ClockErrorBound::from(tracking).ceb;
let bounds = clockbound_now(ceb);
// 0 is the Unix Epoch
let before_time = 0;
request.write_u64::<NetworkEndian>(before_time).unwrap();
let response = build_response(
<[u8; 12]>::try_from(request).unwrap(),
12,
tracking,
false,
1.0,
);
let mut rdr = Cursor::new(response);
assert_eq!(RESPONSE_VERSION, rdr.read_u8().unwrap());
assert_eq!(request_type, rdr.read_u8().unwrap());
// Sync flag
assert_eq!(0, rdr.read_u8().unwrap());
// Reserved
assert_eq!(0, rdr.read_u8().unwrap());
// Is 0 nanoseconds since epoch less than the mock current time of 1000000000000000000 nanoseconds since epoch?
let before_flag = clockbound_before(bounds.0, before_time);
// Before Flag. 0 < 1000000000000000000 should return 1
assert_eq!(before_flag, rdr.read_u8().unwrap());
}