/// <summary>
        /// Verify RopMoveFolder Null Destination Failure Response
        /// </summary>
        /// <param name="ropMoveFolderResponse">The response of RopMoveFolder request</param>
        /// <param name="sourceHandleIndex">The field of SourceHandleIndex in RopMoveFolder request</param>
        /// <param name="destHandleIndex">The field of DestHandleIndex in RopMoveFolder request</param>
        private void VerifyRopMoveFolderNullDestinationFailureResponse(RopMoveFolderResponse ropMoveFolderResponse, byte sourceHandleIndex, uint destHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R825");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R825
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropMoveFolderResponse.RopId.GetType(),
                825,
                @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] RopId (1 byte): ): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R827
            Site.CaptureRequirementIfAreEqual<byte>(
               (byte)RopId.RopMoveFolder,
                ropMoveFolderResponse.RopId,
                827,
                @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] RopId (1 byte): For this operation[RopMoveFolder], this field[RopId (1 byte)] is set to 0x35.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R828
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropMoveFolderResponse.SourceHandleIndex.GetType(),
                828,
                @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] SourceHandleIndex (1 byte): ): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R829
            Site.CaptureRequirementIfAreEqual<byte>(
                sourceHandleIndex,
                ropMoveFolderResponse.SourceHandleIndex,
                829,
                @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] SourceHandleIndex (1 byte): This index MUST be set to the value specified in the SourceHandleIndex field in the request.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R830
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropMoveFolderResponse.ReturnValue.GetType(),
                830,
                @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] ReturnValue (4 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R832
            Site.CaptureRequirementIfAreEqual<uint>(
                ReturnValueForRopMoveFolderResponseAndMoveCopyMessage,
                ropMoveFolderResponse.ReturnValue,
                832,
                @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] ReturnValue (4 bytes): For this response[Null Destination Failure Response], this field[ReturnValue (4 bytes)] is set to 0x00000503.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R833
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropMoveFolderResponse.DestHandleIndex.GetType(),
                833,
                @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] DestHandleIndex (4 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R834
            Site.CaptureRequirementIfAreEqual<uint>(
                destHandleIndex,
                ropMoveFolderResponse.DestHandleIndex,
                834,
                @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] DestHandleIndex (4 bytes): This index MUST be set to the value specified in the DestHandleIndex field in the request.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R835,PartialCompletion:{0}", ropMoveFolderResponse.PartialCompletion);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R835
            // If PartialCompletion is byte type and can be boolean type representation, then verify R835
            bool isVerifyR835 = (typeof(byte) == ropMoveFolderResponse.PartialCompletion.GetType()) &&
                                ((Convert.ToBoolean(ropMoveFolderResponse.PartialCompletion) == true) ||
                                (Convert.ToBoolean(ropMoveFolderResponse.PartialCompletion) == false));

            Site.CaptureRequirementIfIsTrue(
                isVerifyR835,
                835,
                @"[In RopMoveFolder ROP Null Destination Failure Response Buffer] PartialCompletion (1 byte): A Boolean.");
        }
        /// <summary>
        /// Verify the response of RopMoveFolder ROP operation.
        /// </summary>
        /// <param name="moveFolderResponse">The response package of RopMoveFolder operation</param>
        private void VerifyRopMoveFolder(RopMoveFolderResponse moveFolderResponse)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCFOLD_R188");

            // Verify MS-OXCFOLD requirement: MS-OXCFOLD_R188
            Site.CaptureRequirementIfAreEqual<uint>(
                Constants.SuccessCode,
                moveFolderResponse.ReturnValue,
                188,
                @"[In RopMoveFolder ROP Response Buffer] ReturnValue (4 bytes): The server returns 0x00000000 to indicate success.");

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

            // Verify MS-OXCFOLD requirement: MS-OXCFOLD_R169
            Site.CaptureRequirementIfAreEqual<uint>(
                Constants.SuccessCode,
                moveFolderResponse.ReturnValue,
                169,
                @"[In RopMoveFolder ROP] The RopMoveFolder ROP ([MS-OXCROPS] section 2.2.4.7) moves a folder from one parent folder to another parent folder.");
        }
        /// <summary>
        /// Verify RopMoveFolder Response
        /// </summary>
        /// <param name="ropMoveFolderResponse">The response of RopMoveFolder request</param>
        /// <param name="sourceHandleIndex">The field of SourceHandleIndex in RopMoveFolder request</param>
        private void VerifyRopMoveFolderResponse(RopMoveFolderResponse ropMoveFolderResponse, byte sourceHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R815");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R815
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropMoveFolderResponse.RopId.GetType(),
                815,
                @"[In RopMoveFolder ROP Response Buffer] RopId (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R817
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopMoveFolder,
                ropMoveFolderResponse.RopId,
                817,
                @"[In RopMoveFolder ROP Response Buffer] RopId (1 byte): For this operation[RopMoveFolder], this field is set to 0x35.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R818
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropMoveFolderResponse.SourceHandleIndex.GetType(),
                818,
                @"[In RopMoveFolder ROP Response Buffer] SourceHandleIndex (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R819
            Site.CaptureRequirementIfAreEqual<byte>(
                sourceHandleIndex,
                ropMoveFolderResponse.SourceHandleIndex,
                819,
                @"[In RopMoveFolder ROP Response Buffer] SourceHandleIndex (1 byte): This index MUST be set to the value specified in the SourceHandleIndex field in the request.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R820
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropMoveFolderResponse.ReturnValue.GetType(),
                820,
                @"[In RopMoveFolder ROP Response Buffer] ReturnValue (4 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R822
            Site.CaptureRequirementIfAreNotEqual<uint>(
                ReturnValueForRopMoveFolderResponseAndMoveCopyMessage,
                ropMoveFolderResponse.ReturnValue,
                822,
                @"[In RopMoveFolder ROP Response Buffer] ReturnValue (4 bytes): For this response[Response Buffer], this field[ReturnValue (4 bytes)] is set to a value other than 0x00000503.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R823,PartialCompletion:{0}", ropMoveFolderResponse.PartialCompletion);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R823
            // If PartialCompletion is byte type and can be boolean type, then verify R823
            bool isVerifyR823 = (typeof(byte) == ropMoveFolderResponse.PartialCompletion.GetType()) &&
                                ((Convert.ToBoolean(ropMoveFolderResponse.PartialCompletion) == true) ||
                                (Convert.ToBoolean(ropMoveFolderResponse.PartialCompletion) == false));

            Site.CaptureRequirementIfIsTrue(
                isVerifyR823,
                823,
                @"[In RopMoveFolder ROP Response Buffer] PartialCompletion (1 byte): A Boolean.");
        }