fn test_build_response_before_true_successful()

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());
    }