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

VerifyRopCreateMessageSuccessResponse() private method

Verify RopCreateMessage Success Response
private VerifyRopCreateMessageSuccessResponse ( RopCreateMessageResponse ropCreateMessageResponse, byte outputHandleIndex ) : void
ropCreateMessageResponse Microsoft.Protocols.TestSuites.Common.RopCreateMessageResponse The response of RopCreateMessage request
outputHandleIndex byte The field of OutputHandleIndex in RopCreateMessage request
return void
        private void VerifyRopCreateMessageSuccessResponse(RopCreateMessageResponse ropCreateMessageResponse, byte outputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1764");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1766
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopCreateMessage,
                ropCreateMessageResponse.RopId,
                1766,
                @"[In RopCreateMessage ROP Success Response Buffer,RopId (1 byte)]For this[RopCreateMessage] operation, this field is set to 0x06.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1767
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropCreateMessageResponse.OutputHandleIndex.GetType(),
                1767,
                @"[In RopCreateMessage ROP Success Response Buffer]OutputHandleIndex (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1768
            Site.CaptureRequirementIfAreEqual<byte>(
                outputHandleIndex,
                ropCreateMessageResponse.OutputHandleIndex,
                1768,
                @"[In RopCreateMessage ROP Success Response Buffer,OutputHandleIndex (1 byte)]This index MUST be set to the value specified in the OutputHandleIndex specified in field the request.");

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

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

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

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

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1773,HasMessageId:{0}", ropCreateMessageResponse.HasMessageId);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R1773
            // If HasMessageId is byte type and can be boolean type representation, then verify R1773
            bool isVerifyR1773 = (typeof(byte) == ropCreateMessageResponse.HasMessageId.GetType()) &&
                                 ((Convert.ToBoolean(ropCreateMessageResponse.HasMessageId) == true) ||
                                 (Convert.ToBoolean(ropCreateMessageResponse.HasMessageId) == false));

            Site.CaptureRequirementIfIsTrue(
                isVerifyR1773,
                1773,
                @"[In RopCreateMessage ROP Success Response Buffer]HasMessageId (1 byte): A Boolean.");

            if (ropCreateMessageResponse.HasMessageId != 0)
            {
                // Add the debug information
                Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R1775");

                // Verify MS-OXCROPS requirement: MS-OXCROPS_R1775
                Site.CaptureRequirementIfAreEqual<int>(
                    8,
                    Marshal.SizeOf(ropCreateMessageResponse.MessageId),
                    1775,
                    @"[In RopCreateMessage ROP Success Response Buffer]MessageId (8 bytes): An identifier.");
            }
        }
MS_OXCROPSAdapter