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.");
}
}