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

VerifyRopOpenEmbeddedMessageSuccessResponse() private method

Verify RopOpenEmbeddedMessage Success Response
private VerifyRopOpenEmbeddedMessageSuccessResponse ( RopOpenEmbeddedMessageResponse ropOpenEmbeddedMessageResponse, byte outputHandleIndex ) : void
ropOpenEmbeddedMessageResponse RopOpenEmbeddedMessageResponse The response of RopOpenEmbeddedMessage request
outputHandleIndex byte The field of OutputHandleIndex in RopOpenEmbeddedMessage request
return void
        private void VerifyRopOpenEmbeddedMessageSuccessResponse(RopOpenEmbeddedMessageResponse ropOpenEmbeddedMessageResponse, byte outputHandleIndex)
        {
            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2248");

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2250
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)RopId.RopOpenEmbeddedMessage,
                ropOpenEmbeddedMessageResponse.RopId,
                2250,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer,RopId (1 byte)]For this operation[RopOpenEmbeddedMessage], this field is set to 0x46.");

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

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

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

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

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

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

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2256
            Site.CaptureRequirementIfAreEqual<uint>(
                SuccessReturnValue,
                ropOpenEmbeddedMessageResponse.ReturnValue,
                2256,
                @"[In RopOpenEmbeddedMessage 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_R2257");

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2257
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropOpenEmbeddedMessageResponse.Reserved.GetType(),
                2257,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer]Reserved (1 byte): Reserved.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2258
            Site.CaptureRequirementIfAreEqual<byte>(
                (byte)ResponseFlags.None,
                ropOpenEmbeddedMessageResponse.Reserved,
                2258,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer,Reserved (1 byte)]This field MUST be set to 0x00.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2259
            Site.CaptureRequirementIfAreEqual<int>(
                8,
                Marshal.SizeOf(ropOpenEmbeddedMessageResponse.MessageId),
                2259,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer]MessageId (8 bytes): An identifier.");

            // Add the debug information
            Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCROPS_R2261,HasNamedProperties:{0}", ropOpenEmbeddedMessageResponse.HasNamedProperties);

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2261
            // If HasNamedProperties is byte type and can be boolean type representation, then verify R2261
            bool isVerifyR2261 = (typeof(byte) == ropOpenEmbeddedMessageResponse.HasNamedProperties.GetType()) &&
                                 ((Convert.ToBoolean(ropOpenEmbeddedMessageResponse.HasNamedProperties) == true) ||
                                 (Convert.ToBoolean(ropOpenEmbeddedMessageResponse.HasNamedProperties) == false));

            Site.CaptureRequirementIfIsTrue(
                isVerifyR2261,
                2261,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer]HasNamedProperties (1 byte): A Boolean.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2263
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(TypedString),
                ropOpenEmbeddedMessageResponse.SubjectPrefix.GetType(),
                2263,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer]SubjectPrefix (variable): A TypedString structure.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2266
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(TypedString),
                ropOpenEmbeddedMessageResponse.NormalizedSubject.GetType(),
                2266,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer]NormalizedSubject (variable): A TypedString structure.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2269
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(ushort),
                ropOpenEmbeddedMessageResponse.RecipientCount.GetType(),
                2269,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer]RecipientCount (2 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2271
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(ushort),
                ropOpenEmbeddedMessageResponse.ColumnCount.GetType(),
                2271,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer]ColumnCount (2 bytes): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2273
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(PropertyTag[]),
                ropOpenEmbeddedMessageResponse.RecipientColumns.GetType(),
                2273,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer]RecipientColumns (variable): An array of PropertyTag structures.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2274
            Site.CaptureRequirementIfAreEqual<ushort>(
                ropOpenEmbeddedMessageResponse.ColumnCount,
                (ushort)ropOpenEmbeddedMessageResponse.RecipientColumns.Length,
                2274,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer,RecipientColumns (variable)]The number of structures contained in this field is specified by the ColumnCount field.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2277
            Site.CaptureRequirementIfAreEqual<Type>(
                typeof(byte),
                ropOpenEmbeddedMessageResponse.RowCount.GetType(),
                2277,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer]RowCount (1 byte): An unsigned integer.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2280
            Site.CaptureRequirementIfAreEqual<byte>(
                ropOpenEmbeddedMessageResponse.RowCount,
                (byte)ropOpenEmbeddedMessageResponse.RecipientRows.Length,
                2280,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer,RecipientRows (variable)]The number of structures contained in this field[RecipientRows (variable)] is specified by the RowCount field.");

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

            // Verify MS-OXCROPS requirement: MS-OXCROPS_R2279
            Site.CaptureRequirementIfAreEqual<Type>(
                ropOpenEmbeddedMessageResponse.RecipientRows.GetType(),
                typeof(OpenRecipientRow[]),
                2279,
                @"[In RopOpenEmbeddedMessage ROP Success Response Buffer]RecipientRows (variable): A list of OpenRecipientRow structures.");
        }
MS_OXCROPSAdapter