Microsoft.Protocols.TestSuites.MS_OXCROPS.MS_OXCROPSAdapter.VerifyRopFastTransferSourceGetBufferResponse C# (CSharp) Method

VerifyRopFastTransferSourceGetBufferResponse() private method

Verify ropFastTransferSourceGetBufferResponse Response
private VerifyRopFastTransferSourceGetBufferResponse ( RopFastTransferSourceGetBufferResponse ropFastTransferSourceGetBufferResponse, byte inputHandleIndex ) : void
ropFastTransferSourceGetBufferResponse Microsoft.Protocols.TestSuites.Common.RopFastTransferSourceGetBufferResponse The response of RopFastTransferSourceGetBufferResponse request
inputHandleIndex byte The field of InputHandleIndex in RopFastTransferSourceGetBufferResponse request
return void
        private void VerifyRopFastTransferSourceGetBufferResponse(RopFastTransferSourceGetBufferResponse ropFastTransferSourceGetBufferResponse, byte inputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R3724");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R3726
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopFastTransferSourceGetBuffer,
                ropFastTransferSourceGetBufferResponse.RopId,
                3726,
                @"[In RopFastTransferSourceGetBuffer ROP Response Buffer, RopId (1 byte):] For this operation [RopFastTransferSourceGetBuffer] this field is set to 0x4E.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R3727
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropFastTransferSourceGetBufferResponse.InputHandleIndex.GetType(),
                3727,
                @"[In RopFastTransferSourceGetBuffer ROP Response Buffer] InputHandleIndex (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R3728
            Site.CaptureRequirementIfAreEqual<byte>(
                inputHandleIndex,
                ropFastTransferSourceGetBufferResponse.InputHandleIndex,
                3728,
                @"[In RopFastTransferSourceGetBuffer ROP 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_R3730");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R3732
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(ushort),
                ropFastTransferSourceGetBufferResponse.TransferStatus.GetType(),
                3732,
                @"[In RopFastTransferSourceGetBuffer ROP Response Buffer]TransferStatus (2 bytes): An enumeration.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R3733,TransferStatus's value:{0}", ropFastTransferSourceGetBufferResponse.TransferStatus);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R3733
            bool isVerifyR3733 = (ropFastTransferSourceGetBufferResponse.TransferStatus == (ushort)TransferStatus.Error)
                                 || (ropFastTransferSourceGetBufferResponse.TransferStatus == (ushort)TransferStatus.Partial)
                                 || (ropFastTransferSourceGetBufferResponse.TransferStatus == (ushort)TransferStatus.Done);

            Site.CaptureRequirementIfIsTrue(
                isVerifyR3733,
                3733,
                @"[In RopFastTransferSourceGetBuffer ROP Response Buffer, TransferStatus (2 bytes):] The possible values[the value of Error is 0x0000, the value of Partial is 0x0001 and the value of Done is 0x0003] for this enumeration are specified in [MS-OXCFXICS] section 2.2.3.1.1.5.2. ");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R3736
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(ushort),
                ropFastTransferSourceGetBufferResponse.InProgressCount.GetType(),
                3736,
                @"[In RopFastTransferSourceGetBuffer ROP Response Buffer]InProgressCount (2 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R3738
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(ushort),
                ropFastTransferSourceGetBufferResponse.TotalStepCount.GetType(),
                3738,
                @"[In RopFastTransferSourceGetBuffer ROP Response Buffer]TotalStepCount (2 bytes): An unsigned integer.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R3741,the Reserved's value:{0}", ropFastTransferSourceGetBufferResponse.Reserved);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R3741
            bool isVerifyR3741 =
                (ropFastTransferSourceGetBufferResponse.Reserved.GetType() == typeof(byte)) &&
                (ropFastTransferSourceGetBufferResponse.Reserved == ReservedOneByte);

            Site.CaptureRequirementIfIsTrue(
                isVerifyR3741,
                3741,
                @"[In RopFastTransferSourceGetBuffer ROP Response Buffer, Reserved (1 byte):] The server MUST set this field to 0x00.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R3740
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropFastTransferSourceGetBufferResponse.Reserved.GetType(),
                3740,
                @"[In RopFastTransferSourceGetBuffer ROP Response Buffer] Reserved (1 byte): Reserved.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R3742
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(ushort),
                ropFastTransferSourceGetBufferResponse.TransferBufferSize.GetType(),
                3742,
                @"[In RopFastTransferSourceGetBuffer ROP Response Buffer]TransferBufferSize (2 bytes): An unsigned integer.");

            if (ropFastTransferSourceGetBufferResponse.ReturnValue != ReturnValueForRopFastTransferSourceGetBufferResponse)
            {
                // Add the debug information
                Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R3745");

                // Verify MS-OXCROPS requirement: MS-OXCROPS_R3745
                // The ropFastTransferSourceGetBufferResponse.TransferBuffer isNotNull, indicating this filed is present.
                Site.CaptureRequirementIfIsNotNull(
                    ropFastTransferSourceGetBufferResponse.TransferBuffer,
                    3745,
                    @"[In RopFastTransferSourceGetBuffer ROP Response Buffer, TransferBuffer (variable):] That is present if the ReturnValue is not 0x00000480.");

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

                // Verify MS-OXCROPS requirement: MS-OXCROPS_R3746
                // When the return value is not 0x00000480,TransferBuffer present.
                Site.CaptureRequirementIfAreEqual<ushort>(
                    ropFastTransferSourceGetBufferResponse.TransferBufferSize,
                    (ushort)ropFastTransferSourceGetBufferResponse.TransferBuffer.Length,
                    3746,
                    @"[In RopFastTransferSourceGetBuffer ROP Response Buffer, TransferBuffer (variable):] If present, the size of this field, in bytes, is specified by the TransferBufferSize field.");

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

                // Verify MS-OXCROPS requirement: MS-OXCROPS_R3744
                Site.CaptureRequirementIfAreEqual<Type>(
                    typeof(byte[]),
                    ropFastTransferSourceGetBufferResponse.TransferBuffer.GetType(),
                    3744,
                    @"[In RopFastTransferSourceGetBuffer ROP Response Buffer]TransferBuffer (variable): An array of bytes.");

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

                // Verify MS-OXCROPS requirement: MS-OXCROPS_R3957
                // When the value of the BackoffTime is null indicating this filed is not present.
                // Else the value of this filed is not equal null
                Site.CaptureRequirementIfIsTrue(
                    ropFastTransferSourceGetBufferResponse.BackoffTime == null,
                    3957,
                    @"[In RopFastTransferSourceGetBuffer ROP Response Buffer, BackoffTime (4 bytes):This field is] not present otherwise[if the ReturnValue is not 0x00000480].");
            }
        }
        #endregion
MS_OXCROPSAdapter