/// <summary>
        /// Verify RopQueryPosition Failure Response
        /// </summary>
        /// <param name="ropQueryPositionResponse">The response of RopQueryPosition request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopQueryPosition request</param>
        private void VerifyRopQueryPositionFailureResponse(RopQueryPositionResponse ropQueryPositionResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1279");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1281
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopQueryPosition,
                ropQueryPositionResponse.RopId,
                1281,
                @"[In RopQueryPosition ROP Failure Response Buffer] RopId (1 byte): For this operation[RopQueryPosition], this field[RopId (1 byte)] is set to 0x17.");

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

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1283
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropQueryPositionResponse.InputHandleIndex,
                1283,
                @"[In RopQueryPosition 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_R1284");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1286
            Site.CaptureRequirementIfAreNotEqual<uint>(
                SuccessReturnValue,
                ropQueryPositionResponse.ReturnValue,
                1286,
                @"[In RopQueryPosition ROP Failure Response Buffer] ReturnValue (4 bytes): For this response[Failure Response], this field is set to a value other than 0x00000000.");
        }
        /// <summary>
        /// Verify ropQuery position
        /// </summary>
        /// <param name="queryPositionResponse">RopQueryPositionResponse structure data that needs verification</param>
        private void VerifyRopQueryPositionResponse(RopQueryPositionResponse queryPositionResponse)
        {
            this.VerifyRPCLayerRequirement();

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

            // Verify MS-OXCTABL requirement: MS-OXCTABL_R136
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                queryPositionResponse.Denominator.GetType(),
                136,
                @"[In RopQueryPosition ROP Response Buffer] Numerator (4 bytes): An unsigned integer that indicates the index (0-based) of the current row.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCTABL_R137: the value of the Numerator field in the response for RopQueryPosition is set to {0}", queryPositionResponse.Numerator);
            
            // Verify MS-OXCTABL requirement: MS-OXCTABL_R137
            bool isVerifyR137 = queryPositionResponse.Numerator >= 0x00000000;

            Site.CaptureRequirementIfIsTrue(
                isVerifyR137,
                137,
                @"[In RopQueryPosition ROP Response Buffer] Its [Numerator's] value MUST be greater than or equal to 0x00000000.");

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

            // Verify MS-OXCTABL requirement: MS-OXCTABL_R138
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                queryPositionResponse.Denominator.GetType(),
                138,
                @"[In RopQueryPosition ROP Response Buffer] Denominator (4 bytes): An unsigned integer that indicates the total number of rows in the table.");

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

            // Verify MS-OXCTABL requirement: MS-OXCTABL_R139
            bool isVerifyR139 = queryPositionResponse.Denominator >= queryPositionResponse.Numerator;

            Site.CaptureRequirementIfIsTrue(
                isVerifyR139,
                139,
                @"[In RopQueryPosition ROP Response Buffer] Its [Denominator's] value MUST be greater than or equal to the value of the Numerator field.");
        }
        /// <summary>
        /// Verify RopQueryPosition Success Response
        /// </summary>
        /// <param name="ropQueryPositionResponse">The response of RopQueryPosition request</param>
        /// <param name="inputHandleIndex">The field of InputHandleIndex in RopQueryPosition request</param>
        private void VerifyRopQueryPositionSuccessResponse(RopQueryPositionResponse ropQueryPositionResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1267");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1269
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopQueryPosition,
                ropQueryPositionResponse.RopId,
                1269,
                @"[In RopQueryPosition ROP Success Response Buffer] RopId (1 byte): For this operation[RopQueryPosition], this field[RopId (1 byte)] is set to 0x17.");

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

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1271
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropQueryPositionResponse.InputHandleIndex,
                1271,
                @"[In RopQueryPosition ROP Success Response Buffer] InputHandleIndex (1 byte): This index[InputHandleIndex] 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_R1272");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1274
            Site.CaptureRequirementIfAreEqual<uint>(
                SuccessReturnValue,
                ropQueryPositionResponse.ReturnValue,
                1274,
                @"[In RopQueryPosition 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_R1275");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1275
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropQueryPositionResponse.Numerator.GetType(),
                1275,
                @"[In RopQueryPosition ROP Success Response Buffer] Numerator (4 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1277
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(uint),
                ropQueryPositionResponse.Denominator.GetType(),
                1277,
                @"[In RopQueryPosition ROP Success Response Buffer] Denominator (4 bytes): An unsigned integer.");
        }