/// <summary>
        /// Verify RopGetPerUserGuid Failure Response
        /// </summary>
        /// <param name="ropGetPerUserGuidResponse">The failure response of RopGetPerUserGuid request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopGetPerUserGuid request</param>
        private void VerifyRopGetPerUserGuidFailureResponse(RopGetPerUserGuidResponse ropGetPerUserGuidResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R445");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R445
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropGetPerUserGuidResponse.RopId.GetType(),
                445,
                @"[In RopGetPerUserGuid ROP Failure Response Buffer] RopId (1 byte): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R447");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R447
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopGetPerUserGuid,
                ropGetPerUserGuidResponse.RopId,
                447,
                @"[In RopGetPerUserGuid ROP Failure Response Buffer] RopId (1 byte): For this operation[RopGetPerUserGuid], this field[RopId (1 byte)] is set to 0x61.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R448");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R448
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropGetPerUserGuidResponse.InputHandleIndex.GetType(),
                448,
                @"[In RopGetPerUserGuid ROP Failure Response Buffer] InputHandleIndex (1 byte): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R449");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R449
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropGetPerUserGuidResponse.InputHandleIndex,
                449,
                @"[In RopGetPerUserGuid ROP Failure Response Buffer] InputHandleIndex (1 byte): This index MUST be set to the value specified in the InputHandleIndex field in the request.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R450");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R450
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropGetPerUserGuidResponse.ReturnValue.GetType(),
                450,
                @"[In RopGetPerUserGuid ROP Failure Response Buffer] ReturnValue (4 bytes): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R452");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R452
            Site.CaptureRequirementIfAreNotEqual<uint>(
                SuccessReturnValue,
                ropGetPerUserGuidResponse.ReturnValue,
                452,
                @"[In RopGetPerUserGuid ROP Failure Response Buffer] ReturnValue (4 bytes): For this response[Failure Response], this field[ReturnValue (4 bytes)] is set to a value other than 0x00000000.");
        }
        /// <summary>
        /// Verify the response by sending the ROP RopGetPerUserGuid.
        /// </summary>
        /// <param name="response">The structure of ROP RopGetPerUserGuid response.</param>
        private void VerifyRopGetPerUserGuid(RopGetPerUserGuidResponse response)
        {
            if (response.ReturnValue == 0)
            {
                // Add the debug information
                this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCSTOR_R484");

                // Verify MS-OXCSTOR requirement: MS-OXCSTOR_R484
                // If the response can be parsed successfully and the return value is success, indicates the ROP's functionality is consistent with its description. 
                this.Site.CaptureRequirement(
                    484,
                    @"[In RopGetPerUserGuid ROP] The RopGetPerUserGuid ROP ([MS-OXCROPS] section 2.2.3.11) obtains the REPLGUID of the public message store that previously provided the now cached per-user read/unread data for a specific public folder.");
            }
        }
        /// <summary>
        /// Verify RopGetPerUserGuid Success Response
        /// </summary>
        /// <param name="ropGetPerUserGuidResponse">The success response of RopGetPerUserGuid request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopGetPerUserGuid request</param>
        private void VerifyRopGetPerUserGuidSuccessResponse(RopGetPerUserGuidResponse ropGetPerUserGuidResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R435");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R435
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropGetPerUserGuidResponse.RopId.GetType(),
                435,
                @"[In RopGetPerUserGuid ROP Success Response Buffer] RopId (1 byte): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R437");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R437
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopGetPerUserGuid,
                ropGetPerUserGuidResponse.RopId,
                437,
                @"[In RopGetPerUserGuid ROP Success Response Buffer] RopId (1 byte): For this operation[RopGetPerUserGuid], this field[RopId (1 byte)] is set to 0x61.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R438");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R438
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropGetPerUserGuidResponse.InputHandleIndex.GetType(),
                438,
                @"[In RopGetPerUserGuid ROP Success Response Buffer] InputHandleIndex (1 byte): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R439");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R439
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropGetPerUserGuidResponse.InputHandleIndex,
                439,
                @"[In RopGetPerUserGuid ROP Success Response Buffer] InputHandleIndex (1 byte): This index MUST be set to the value specified in the InputHandleIndex field in the request.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R440");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R440
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropGetPerUserGuidResponse.ReturnValue.GetType(),
                440,
                @"[In RopGetPerUserGuid ROP Success Response Buffer] ReturnValue (4 bytes): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R442");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R442
            Site.CaptureRequirementIfAreEqual<uint>(
                SuccessReturnValue,
                ropGetPerUserGuidResponse.ReturnValue,
                442,
                @"[In RopGetPerUserGuid ROP Success Response Buffer] ReturnValue (4 bytes): For this response[Success Response], this field[ReturnValue (4 bytes)] is set to 0x00000000.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R443, the actual type of DatabaseGuid is :{0}", ropGetPerUserGuidResponse.DatabaseGuid.GetType().Name);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R443
            bool isVerifyR443 = this.IsGUID(ropGetPerUserGuidResponse.DatabaseGuid);

            Site.CaptureRequirementIfIsTrue(
                isVerifyR443,
                443,
                @"[In RopGetPerUserGuid ROP Success Response Buffer] DatabaseGuid (16 bytes): A GUID.");
        }