private void VerifyWBXMLCapture()
{
// Get decode data and capture requirement for decode processing.
Dictionary<string, int> decodedData = this.activeSyncClient.GetMSASWBXMLImplementationInstance().DecodeDataCollection;
if (decodedData != null)
{
// Check out all tag-token
foreach (KeyValuePair<string, int> decodeDataItem in decodedData)
{
byte token;
string tagName = Common.GetTagName(decodeDataItem.Key, out token);
int codepage = decodeDataItem.Value;
bool isValidCodePage = codepage >= 0 && codepage <= 24;
Site.Assert.IsTrue(isValidCodePage, "Code page value should between 0-24, the actual value is :{0}", codepage);
// Begin to capture requirements of code page 5.
if (5 == codepage)
{
switch (tagName)
{
case "MoveItems":
{
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASWBXML_R234");
// Verify MS-ASWBXML requirement: MS-ASWBXML_R234
Site.CaptureRequirementIfAreEqual<byte>(
0x05,
token,
"MS-ASWBXML",
234,
@"[In Code Page 5: Move] [Tag name] MoveItems [Token] 0x05 [supports protocol versions] All");
break;
}
case "Response":
{
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASWBXML_R239");
// Verify MS-ASWBXML requirement: MS-ASWBXML_R239
Site.CaptureRequirementIfAreEqual<byte>(
0x0A,
token,
"MS-ASWBXML",
239,
@"[In Code Page 5: Move] [Tag name] Response [Token] 0x0A [supports protocol versions] All");
break;
}
case "Status":
{
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASWBXML_R240");
// Verify MS-ASWBXML requirement: MS-ASWBXML_R240
Site.CaptureRequirementIfAreEqual<byte>(
0x0B,
token,
"MS-ASWBXML",
240,
@"[In Code Page 5: Move] [Tag name] Status [Token] 0x0B [supports protocol versions] All");
break;
}
}
}
// Begin to capture requirements of code page 17.
if (17 == codepage && tagName == "BodyPart")
{
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASWBXML_R468");
// Verify MS-ASWBXML requirement: MS-ASWBXML_R468
Site.CaptureRequirementIfAreEqual<byte>(
0x1A,
token,
"MS-ASWBXML",
468,
@"[In Code Page 17: AirSyncBase] [Tag name] BodyPart [Token] 0x1A [supports protocol versions] 14.1, 16.0");
}
// Begin to capture requirements of code page 20.
if (20 == codepage)
{
if (tagName == "Status")
{
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASWBXML_R571");
// Verify MS-ASWBXML requirement: MS-ASWBXML_R571
Site.CaptureRequirementIfAreEqual<byte>(
0x0D,
token,
"MS-ASWBXML",
571,
@"[In Code Page 20: ItemOperations] [Tag name] Status [Token] 0x0D [supports protocol versions] 12.0, 12.1, 14.0, 14.1, 16.0");
}
else if (tagName == "ConversationId")
{
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASWBXML_R582");
// Verify MS-ASWBXML requirement: MS-ASWBXML_R582
Site.CaptureRequirementIfAreEqual<byte>(
0x18,
token,
"MS-ASWBXML",
582,
@"[In Code Page 20: ItemOperations] [Tag name] ConversationId [Token] 0x18 [supports protocol versions] 14.0, 14.1, 16.0");
}
else if (tagName == "Move")
{
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASWBXML_R580");
// Verify MS-ASWBXML requirement: MS-ASWBXML_R580
Site.CaptureRequirementIfAreEqual<byte>(
0x16,
token,
"MS-ASWBXML",
580,
@"[In Code Page 20: ItemOperations] [Tag name] Move [Token] 0x16 [supports protocol versions] 14.0, 14.1, 16.0");
}
}
// Begin to capture requirements of code page 22.
if (22 == codepage)
{
if (tagName == "ConversationId")
{
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASWBXML_R610");
// Verify MS-ASWBXML requirement: MS-ASWBXML_R610
Site.CaptureRequirementIfAreEqual<byte>(
0x09,
token,
"MS-ASWBXML",
610,
@"[In Code Page 22: Email2] [Tag name] ConversationId [Token] 0x09 [supports protocol versions] 14.0, 14.1, 16.0");
}
else if (tagName == "ConversationIndex")
{
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-ASWBXML_R611");
// Verify MS-ASWBXML requirement: MS-ASWBXML_R611
Site.CaptureRequirementIfAreEqual<byte>(
0x0A,
token,
"MS-ASWBXML",
611,
@"[In Code Page 22: Email2] [Tag name] ConversationIndex [Token] 0x0A [supports protocol versions] 14.0, 14.1, 16.0");
}
}
}
}
}
#endregion