Microsoft.Protocols.TestSuites.MS_ASCON.MS_ASCONAdapter.VerifyWBXMLCapture C# (CSharp) Method

VerifyWBXMLCapture() private method

Verify WBXML Capture for WBXML process.
private VerifyWBXMLCapture ( ) : void
return void
        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