fn test_build_response_after_false_successful()

in clock-bound-d/src/response.rs [500:545]


    fn test_build_response_after_false_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);
        // 0 is the Unix Epoch
        let after_time = 0;

        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 0 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. 0 > 1000000000000000000 should return 0
        assert_eq!(after_flag, rdr.read_u8().unwrap());
    }