in clock-bound-d/src/response.rs [452:497]
fn test_build_response_after_true_successful() {
let tracking = mock_tracking();
let mut request: Vec<u8> = Vec::new();
// After request
let request_type: u8 = 3;
// Create a after 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 after_time = 1000000000000000001;
request.write_u64::<NetworkEndian>(after_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 greater than the mock current time of 1000000000000000000 nanoseconds since epoch?
let after_flag = clockbound_after(bounds.1, after_time);
// After Flag. 1000000000000000001 > 1000000000000000000 should return 1
assert_eq!(after_flag, rdr.read_u8().unwrap());
}