Microsoft.Protocols.TestSuites.MS_OXWSCONT.TestSuiteBase.VerifyCompleteNameTypeComplexType C# (CSharp) Method

VerifyCompleteNameTypeComplexType() private method

Capture CompleteNameType Complex Type related requirements.
private VerifyCompleteNameTypeComplexType ( ContactItemType responseContactItem, ContactItemType requestContactItem ) : void
responseContactItem Microsoft.Protocols.TestSuites.Common.ContactItemType The ContactItemType element from the response package of GetItem operation.
requestContactItem Microsoft.Protocols.TestSuites.Common.ContactItemType The ContactItemType element from the request package of CreateItem operation.
return void
        private void VerifyCompleteNameTypeComplexType(ContactItemType responseContactItem, ContactItemType requestContactItem)
        {
            Site.Assert.IsNotNull(responseContactItem.CompleteName, "The complete name element should not be null!");

            Site.Assert.IsNotNull(responseContactItem.CompleteName.Title, "The Title of CompleteName from response contact item should not be null.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R193
            Site.CaptureRequirementIfIsTrue(
                this.IsSchemaValidated,
                193,
                @"[In t:CompleteNameType Complex Type] The type of the element of Title is xs:string [XMLSCHEMA2]");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R194
            this.Site.CaptureRequirementIfAreEqual<string>(
                requestContactItem.ExtendedProperty[0].Item as string,
                responseContactItem.CompleteName.Title,
                194,
                @"[In t:CompleteNameType Complex Type] Title element: Contains the title of a contact (2).");

            Site.Assert.IsNotNull(responseContactItem.CompleteName.FirstName, "The FirstName of CompleteName from response contact item should not be null.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R195
            Site.CaptureRequirementIfIsTrue(
                this.IsSchemaValidated,
                195,
                @"[In t:CompleteNameType Complex Type] The type of the element of FirstName is xs:string");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R355
            this.Site.CaptureRequirementIfAreEqual<string>(
                responseContactItem.GivenName,
                responseContactItem.CompleteName.FirstName,
                355,
                @"[In t:CompleteNameType Complex Type] This [FirstName element] is the same as GivenName.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R196
            this.Site.CaptureRequirementIfAreEqual<string>(
                requestContactItem.GivenName,
                responseContactItem.CompleteName.FirstName,
                196,
                @"[In t:CompleteNameType Complex Type] FirstName element: Contains the first name of a contact (2).");

            Site.Assert.IsNotNull(responseContactItem.CompleteName.MiddleName, "The MiddleName of CompleteName from response contact item should not be null.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R197
            Site.CaptureRequirementIfIsTrue(
                this.IsSchemaValidated,
                197,
                @"[In t:CompleteNameType Complex Type] The type of the element of MiddleName is xs:string");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R198
            this.Site.CaptureRequirementIfAreEqual<string>(
                requestContactItem.MiddleName,
                responseContactItem.CompleteName.MiddleName,
                198,
                @"[In t:CompleteNameType Complex Type] MiddleName element: Contains the middle name of a contact (2).");

            Site.Assert.IsNotNull(responseContactItem.CompleteName.LastName, "The LastName of CompleteName from response contact item should not be null.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R199
            Site.CaptureRequirementIfIsTrue(
                this.IsSchemaValidated,
                199,
                @"[In t:CompleteNameType Complex Type] The type of the element of LastName is xs:string");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R356
            this.Site.CaptureRequirementIfAreEqual<string>(
                responseContactItem.Surname,
                responseContactItem.CompleteName.LastName,
                356,
                @"[In t:CompleteNameType Complex Type] This [LastName element] is the same as the Surname.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R200
            this.Site.CaptureRequirementIfAreEqual<string>(
                requestContactItem.Surname,
                responseContactItem.CompleteName.LastName,
                200,
                @"[In t:CompleteNameType Complex Type] LastName element: Contains the last name of a contact (2).");

            Site.Assert.IsNotNull(responseContactItem.CompleteName.Suffix, "The Suffix of CompleteName from response contact item should not be null.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R201
            Site.CaptureRequirementIfIsTrue(
                this.IsSchemaValidated,
                201,
                @"[In t:CompleteNameType Complex Type] The type of the element of Suffix is xs:string");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R357
            this.Site.CaptureRequirementIfAreEqual<string>(
                responseContactItem.Generation,
                responseContactItem.CompleteName.Suffix,
                357,
                @"[In t:CompleteNameType Complex Type] This [Suffix element] is the same as the Generation property.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R202
            this.Site.CaptureRequirementIfAreEqual<string>(
                requestContactItem.Generation,
                responseContactItem.CompleteName.Suffix,
                202,
                @"[In t:CompleteNameType Complex Type] Suffix element: Contains a suffix to a contact's (2) name.");

            Site.Assert.IsNotNull(responseContactItem.CompleteName.Initials, "The Initials of CompleteName from response contact item should not be null.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R203
            Site.CaptureRequirementIfIsTrue(
                this.IsSchemaValidated,
                203,
                @"[In t:CompleteNameType Complex Type] The type of the element of Initials is xs:string");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R204
            this.Site.CaptureRequirementIfAreEqual<string>(
                requestContactItem.Initials,
                responseContactItem.CompleteName.Initials,
                204,
                @"[In t:CompleteNameType Complex Type] Initials element: Contains the initials of a contact (2).");

            Site.Assert.IsNotNull(responseContactItem.CompleteName.FullName, "The FullName of CompleteName from response contact item should not be null.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R205
            Site.CaptureRequirementIfIsTrue(
                this.IsSchemaValidated,
                205,
                @"[In t:CompleteNameType Complex Type] The type of the element of FullName is xs:string");

            Site.Assert.IsNotNull(responseContactItem.CompleteName.Nickname, "The Nickname of CompleteName from response contact item should not be null.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R207
            Site.CaptureRequirementIfIsTrue(
                this.IsSchemaValidated,
                207,
                @"[In t:CompleteNameType Complex Type] The type of the element of Nickname is xs:string");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R208
            this.Site.CaptureRequirementIfAreEqual<string>(
                requestContactItem.Nickname,
                responseContactItem.CompleteName.Nickname,
                208,
                @"[In t:CompleteNameType Complex Type] Nickname element: Contains the nickname of a contact (2).");

            Site.Assert.IsNotNull(responseContactItem.CompleteName.YomiFirstName, "The YomiFirstName of CompleteName from response contact item should not be null.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R209
            Site.CaptureRequirementIfIsTrue(
                this.IsSchemaValidated,
                209,
            @"[In t:CompleteNameType Complex Type] The type of the element of YomiFirstName is xs:string");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R210
            this.Site.CaptureRequirementIfAreEqual<string>(
                requestContactItem.ExtendedProperty[1].Item as string,
                responseContactItem.CompleteName.YomiFirstName,
                210,
                @"[In t:CompleteNameType Complex Type] YomiFirstName element: Contains the name used in Japan for the searchable or phonetic spelling of a Japanese first name.");

            Site.Assert.IsNotNull(responseContactItem.CompleteName.YomiLastName, "The YomiLastName of CompleteName from response contact item should not be null.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R211
            Site.CaptureRequirementIfIsTrue(
                this.IsSchemaValidated,
                211,
                @"[In t:CompleteNameType Complex Type] The type of the element of YomiLastName is xs:string");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R212
            this.Site.CaptureRequirementIfAreEqual<string>(
                requestContactItem.ExtendedProperty[2].Item as string,
                responseContactItem.CompleteName.YomiLastName,
                212,
                @"[In t:CompleteNameType Complex Type] YomiLastName element: Contains the name used in Japan for the searchable or phonetic spelling of a Japanese last name.");

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

            // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R35
            // Because R35 is captured based on R194, R196, R198, R200, R202, R204, R208, R210 and R212, so if all of them are captured successfully, R35 can be captured.
            this.Site.CaptureRequirement(
                35,
                @"[In t:ContactItemType Complex Type] CompleteName element: Represents the complete name of a contact (2).");
        }
        #endregion