in clock-bound-d/src/response.rs [404:449]
fn test_build_response_before_false_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);
// 1000000000000000001 is one nanosecond more than our mock data of 1000000000000000000
let before_time = 1000000000000000001;
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 1000000000000000001 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. 1000000000000000001 < 1000000000000000000 should return 0
assert_eq!(before_flag, rdr.read_u8().unwrap());
}