/// <summary>
        /// Verify RopSeekRowBookmark Failure Response
        /// </summary>
        /// <param name="ropSeekRowBookmarkResponse">The response of RopSeekRowBookmark request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopSeekRowBookmark request</param>
        private void VerifyRopSeekRowBookmarkFailureResponse(RopSeekRowBookmarkResponse ropSeekRowBookmarkResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1355");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1357
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopSeekRowBookmark,
                ropSeekRowBookmarkResponse.RopId,
                1357,
                @"[In RopSeekRowBookmark ROP Failure Response Buffer] RopId (1 byte): For this operation[RopSeekRowBookmark], this field[RopId (1 byte)] is set to 0x19.");

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

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1359
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropSeekRowBookmarkResponse.InputHandleIndex,
                1359,
                @"[In RopSeekRowBookmark 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_R1360");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1362
            Site.CaptureRequirementIfAreNotEqual<uint>(
                SuccessReturnValue,
                ropSeekRowBookmarkResponse.ReturnValue,
                1362,
                @"[In RopSeekRowBookmark ROP Failure Response Buffer] ReturnValue (4 bytes): For this response[Failure Response], this field is set to a value other than 0x00000000.");
        }
        /// <summary>
        /// Verify RopSeekRowBookmark Response
        /// </summary>
        /// <param name="seekRowBookmarkResponse">RopSeekRowBookmarkResponse structure data that needs verification</param>
        /// <param name="rowCountValueInTheReques">The value of the RowCount field in the request</param>
        private void VerifyRopSeekRowBookmarkResponse(RopSeekRowBookmarkResponse seekRowBookmarkResponse, long rowCountValueInTheReques)
        {
            this.VerifyRPCLayerRequirement();

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

            // Verify MS-OXCTABL requirement: MS-OXCTABL_R181
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                seekRowBookmarkResponse.RowNoLongerVisible.GetType(),
                181,
                @"[In RopSeekRowBookmark ROP Response Buffer] RowNoLongerVisible (1 byte): A Boolean that indicates whether the row to which the bookmark pointed is no longer visible.");

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

            // Verify MS-OXCTABL requirement: MS-OXCTABL_R186
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                seekRowBookmarkResponse.HasSoughtLess.GetType(),
                186,
                @"[In RopSeekRowBookmark ROP Response Buffer] HasSoughtLess (1 byte): A Boolean that specifies whether the number of rows moved is less than the number of rows requested.");

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

            // Verify MS-OXCTABL requirement: MS-OXCTABL_R192
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                seekRowBookmarkResponse.RowsSought.GetType(),
                192,
                @"[In RopSeekRowBookmark ROP Response Buffer] RowsSought (4 bytes): An unsigned integer that specifies the actual number of rows moved.");

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

            // Verify MS-OXCTABL requirement: MS-OXCTABL_R189
            // Not null means be present
            Site.CaptureRequirementIfIsNotNull(
                seekRowBookmarkResponse.HasSoughtLess,
                189,
                @"[In RopSeekRowBookmark ROP Response Buffer] The HasSoughtLess field MUST be present in the response.");

            if (rowCountValueInTheReques < 0)
            {
                // Add the debug information
                Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCTABL_R193: the value of the RowsSought field in the response for RopSeekRowBookmark is set to {0}", seekRowBookmarkResponse.RowsSought);

                // Verify MS-OXCTABL requirement: MS-OXCTABL_R193
                bool isVerifyR193 = (seekRowBookmarkResponse.RowsSought < 0)
                                   || (seekRowBookmarkResponse.RowsSought == 0x00000000);

                Site.CaptureRequirementIfIsTrue(
                    isVerifyR193,
                    193,
                    @"[In RopSeekRowBookmark ROP Response Buffer] If the value of the RowCount field in the request is negative, the value of the RowsSought field MUST also be negative or zero (0x00000000), indicating that the seek was performed backwards.");
            }

            if (rowCountValueInTheReques > 0)
            {
                // Add the debug information
                Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCTABL_R194: the value of the RowsSought field in the response for RopSeekRowBookmark is set to {0}", seekRowBookmarkResponse.RowsSought);

                // Verify MS-OXCTABL requirement: MS-OXCTABL_R194
                bool isVerifyR194 = seekRowBookmarkResponse.RowsSought > 0;

                Site.CaptureRequirementIfIsTrue(
                    isVerifyR194,
                    194,
                    @"[In RopSeekRowBookmark ROP Response Buffer] If the value of the RowCount field in the request is positive, the value of RowsSought MUST also be positive.");
            }
        }
        /// <summary>
        /// Verify RopSeekRowBookmark Success Response
        /// </summary>
        /// <param name="ropSeekRowBookmarkResponse">The response of RopSeekRowBookmark request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopSeekRowBookmark request</param>
        private void VerifyRopSeekRowBookmarkSuccessResponse(RopSeekRowBookmarkResponse ropSeekRowBookmarkResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1341");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1343
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopSeekRowBookmark,
                ropSeekRowBookmarkResponse.RopId,
                1343,
                @"[In RopSeekRowBookmark ROP Success Response Buffer] RopId (1 byte): For this operation[RopSeekRowBookmark], this field[RopId (1 byte)] is set to 0x19.");

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

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1345
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropSeekRowBookmarkResponse.InputHandleIndex,
                1345,
                @"[In RopSeekRowBookmark 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_R1346");

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

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

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

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1349,RowNoLongerVisible:{0}", ropSeekRowBookmarkResponse.RowNoLongerVisible);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1349
            // If RowNoLongerVisible is byte type and can be boolean type representation, then verify R1349
            bool isVerifyR1349 = (typeof(byte) == ropSeekRowBookmarkResponse.RowNoLongerVisible.GetType()) &&
                                 ((Convert.ToBoolean(ropSeekRowBookmarkResponse.RowNoLongerVisible) == true) ||
                                 (Convert.ToBoolean(ropSeekRowBookmarkResponse.RowNoLongerVisible) == false));

            Site.CaptureRequirementIfIsTrue(
                isVerifyR1349,
                1349,
                @"[In RopSeekRowBookmark ROP Success Response Buffer] RowNoLongerVisible (1 byte): A Boolean.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1351,HasSoughtLess:{0}", ropSeekRowBookmarkResponse.HasSoughtLess);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1351
            bool isVerifyR1351 = (typeof(byte) == ropSeekRowBookmarkResponse.HasSoughtLess.GetType()) &&
                                 ((Convert.ToBoolean(ropSeekRowBookmarkResponse.HasSoughtLess) == true) ||
                                 (Convert.ToBoolean(ropSeekRowBookmarkResponse.HasSoughtLess) == false));

            Site.CaptureRequirementIfIsTrue(
                isVerifyR1351,
                1351,
                @"[In RopSeekRowBookmark ROP Success Response Buffer] HasSoughtLess (1 byte): A Boolean.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1353
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropSeekRowBookmarkResponse.RowsSought.GetType(),
                1353,
                @"[In RopSeekRowBookmark ROP Success Response Buffer] RowsSought (4 bytes): An unsigned integer.");
        }