private void VerifyLargePropertyTagArrayStructure(LargePropertyTagArray largePropTagArray)
{
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCMAPIHTTP_R24");
// Verify MS-OXCMAPIHTTP requirement: MS-OXCMAPIHTTP_R24
this.Site.CaptureRequirementIfIsInstanceOfType(
largePropTagArray.PropertyTagCount,
typeof(uint),
24,
@"[In LargePropertyTagArray Structure] PropertyTagCount (4 bytes): An unsigned integer that specifies the number of structures contained in the PropertyTags field.");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCMAPIHTTP_R25, the value of PropertyTagCount is {0}.", largePropTagArray.PropertyTagCount);
// Verify MS-OXCMAPIHTTP requirement: MS-OXCMAPIHTTP_R25
this.Site.CaptureRequirementIfIsTrue(
largePropTagArray.PropertyTagCount <= 100000,
25,
@"[In LargePropertyTagArray Structure] [PropertyTagCount (4 bytes)] The number is limited to 100,000.");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCMAPIHTTP_R26");
// Verify MS-OXCMAPIHTTP requirement: MS-OXCMAPIHTTP_R26
this.Site.CaptureRequirementIfIsInstanceOfType(
largePropTagArray.PropertyTags,
typeof(PropertyTag[]),
26,
@"[In LargePropertyTagArray Structure] PropertyTags (variable): An array of PropertyTag structures ([MS-OXCDATA] section 2.9), each of which contains a property tag that specifies a property.");
PropertyTag[] propertytags = largePropTagArray.PropertyTags;
foreach (PropertyTag propertyTag in propertytags)
{
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCDATA_R181");
// Verify MS-OXCMAPIHTTP requirement: MS-OXCDATA_R181
this.Site.CaptureRequirementIfIsInstanceOfType(
propertyTag.PropertyType,
typeof(ushort),
"MS-OXCDATA",
181,
@"[In PropertyTag Structure] PropertyType (2 bytes): An unsigned integer that identifies the data type of the property value, as specified by the table in section 2.11.1.");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXCDATA_R182");
// Verify MS-OXCMAPIHTTP requirement: MS-OXCDATA_R182
this.Site.CaptureRequirementIfIsInstanceOfType(
propertyTag.PropertyId,
typeof(ushort),
"MS-OXCDATA",
182,
@"[In PropertyTag Structure] PropertyId (2 bytes): An unsigned integer that identifies the property.");
}
// Since Test Suite parsed largePropTagArray structure according to Specification, and the PropertyTag has been walked in the upper step,
// so if the program run to here, R23 can be verified directly.
this.Site.CaptureRequirement(
23,
@"[In LargePropertyTagArray Structure] The LargePropertyTagArray structure contains a list of property tags.");
}
#endregion