protected void VerifyChildElementInContactItemTypeComplexType(ContactItemType responseContactItem, ContactItemType requestContactItem)
{
Site.Assert.IsNotNull(responseContactItem, "The contact item should not be null!");
Site.Assert.IsTrue(this.IsSchemaValidated, "The schema validation result should be true.");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R20");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R20
Site.CaptureRequirementIfIsNotNull(
responseContactItem.FileAs,
20,
@"[In t:ContactItemType Complex Type] The type of the element of FileAs is xs:string [XMLSCHEMA2]");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R24");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R24
Site.CaptureRequirementIfIsNotNull(
responseContactItem.DisplayName,
24,
@"[In t:ContactItemType Complex Type] The type of the element of DisplayName is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R25");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R25
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.DisplayName,
responseContactItem.DisplayName,
25,
@"[In t:ContactItemType Complex Type] DisplayName element: Contains the display name of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R26");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R26
Site.CaptureRequirementIfIsNotNull(
responseContactItem.GivenName,
26,
@"[In t:ContactItemType Complex Type] The type of the element of GivenName is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R27");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R27
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.GivenName,
responseContactItem.GivenName,
27,
@"[In t:ContactItemType Complex Type] GivenName element: Contains the given name for a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R28");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R28
Site.CaptureRequirementIfIsNotNull(
responseContactItem.Initials,
28,
@"[In t:ContactItemType 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_R29");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R29
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.Initials,
responseContactItem.Initials,
29,
@"[In t:ContactItemType Complex Type] Initials element: Contains the initials for a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R30");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R30
Site.CaptureRequirementIfIsNotNull(
responseContactItem.MiddleName,
30,
@"[In t:ContactItemType 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_R31");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R31
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.MiddleName,
responseContactItem.MiddleName,
31,
@"[In t:ContactItemType Complex Type] MiddleName element: Represents the middle name of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R32");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R32
Site.CaptureRequirementIfIsNotNull(
responseContactItem.Nickname,
32,
@"[In t:ContactItemType 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_R33");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R33
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.Nickname,
responseContactItem.Nickname,
33,
@"[In t:ContactItemType Complex Type] Nickname element: Represents the nickname of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R36");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R36
Site.CaptureRequirementIfIsNotNull(
responseContactItem.CompanyName,
36,
@"[In t:ContactItemType Complex Type] The type of the element of CompanyName is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R37");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R37
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.CompanyName,
responseContactItem.CompanyName,
37,
@"[In t:ContactItemType Complex Type] CompanyName element: Contains the company name that is associated with a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R44");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R44
Site.CaptureRequirementIfIsNotNull(
responseContactItem.AssistantName,
44,
@"[In t:ContactItemType Complex Type] The type of the element of AssistantName is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R45");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R45
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.AssistantName,
responseContactItem.AssistantName,
45,
@"[In t:ContactItemType Complex Type] AssistantName element: Contains the name of the assistant for the contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R46");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R46
Site.CaptureRequirementIfIsTrue(
responseContactItem.BirthdaySpecified,
46,
@"[In t:ContactItemType Complex Type] The type of the element of Birthday is xs:dateTime [XMLSCHEMA2].");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R47");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R47
this.Site.CaptureRequirementIfAreEqual<DateTime>(
requestContactItem.Birthday,
responseContactItem.Birthday,
47,
@"[In t:ContactItemType Complex Type] Birthday element: Represents the birthday of the contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R56");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R56
Site.CaptureRequirementIfIsNotNull(
responseContactItem.Department,
56,
@"[In t:ContactItemType Complex Type] The type of the element of Department is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R57");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R57
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.Department,
responseContactItem.Department,
57,
@"[In t:ContactItemType Complex Type] Department element: Contains the work department for the contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R58");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R58
Site.CaptureRequirementIfIsNotNull(
responseContactItem.Generation,
58,
@"[In t:ContactItemType Complex Type] The type of the element of Generation is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R59");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R59
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.Generation,
responseContactItem.Generation,
59,
@"[In t:ContactItemType Complex Type] Generation element: Contains a generational abbreviation that follows the full name of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R62");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R62
Site.CaptureRequirementIfIsNotNull(
responseContactItem.JobTitle,
62,
@"[In t:ContactItemType Complex Type] The type of the element of JobTitle is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R63");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R63
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.JobTitle,
responseContactItem.JobTitle,
63,
@"[In t:ContactItemType Complex Type] JobTitle element: Contains the job title of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R64");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R64
Site.CaptureRequirementIfIsNotNull(
responseContactItem.Manager,
64,
@"[In t:ContactItemType Complex Type] The type of the element of Manager is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R65");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R65
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.Manager,
responseContactItem.Manager,
65,
@"[In t:ContactItemType Complex Type] Manager element: Represents the manager of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R66");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R66
Site.CaptureRequirementIfIsNotNull(
responseContactItem.Mileage,
66,
@"[In t:ContactItemType Complex Type] The type of the element of Mileage is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R67");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R67
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.Mileage,
responseContactItem.Mileage,
67,
@"[In t:ContactItemType Complex Type] Mileage element: Represents the mileage for a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R68");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R68
Site.CaptureRequirementIfIsNotNull(
responseContactItem.OfficeLocation,
68,
@"[In t:ContactItemType Complex Type] The type of the element of OfficeLocation is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R69");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R69
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.OfficeLocation,
responseContactItem.OfficeLocation,
69,
@"[In t:ContactItemType Complex Type] OfficeLocation element: Represents the office location of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R72");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R72
Site.CaptureRequirementIfIsNotNull(
responseContactItem.Profession,
72,
@"[In t:ContactItemType Complex Type] The type of the element of Profession is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R73");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R73
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.Profession,
responseContactItem.Profession,
73,
@"[In t:ContactItemType Complex Type] Profession element: Represents the profession of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R74");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R74
Site.CaptureRequirementIfIsNotNull(
responseContactItem.SpouseName,
74,
@"[In t:ContactItemType Complex Type] The type of the element of SpouseName is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R75");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R75
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.SpouseName,
responseContactItem.SpouseName,
75,
@"[In t:ContactItemType Complex Type] SpouseName element: Represents the name of the spouse/partner of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R76");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R76
Site.CaptureRequirementIfIsNotNull(
responseContactItem.Surname,
76,
@"[In t:ContactItemType Complex Type] The type of the element of Surname is xs:string");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R77");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R77
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.Surname,
responseContactItem.Surname,
77,
@"[In t:ContactItemType Complex Type] Surname element: Contains the surname of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R78");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R78
Site.CaptureRequirementIfIsTrue(
responseContactItem.WeddingAnniversarySpecified,
78,
@"[In t:ContactItemType Complex Type] The type of the element of WeddingAnniversary is xs:dateTime");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R79");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R79
this.Site.CaptureRequirementIfAreEqual<DateTime>(
requestContactItem.WeddingAnniversary,
responseContactItem.WeddingAnniversary,
79,
@"[In t:ContactItemType Complex Type] WeddingAnniversary element: Contains the wedding anniversary date of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R22");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R22
Site.CaptureRequirementIfIsTrue(
responseContactItem.FileAsMappingSpecified,
22,
@"[In t:ContactItemType Complex Type] The type of the element of FileAsMapping is t:FileAsMappingType (section 3.1.4.1.2.4)");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R34");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R34
Site.CaptureRequirementIfIsNotNull(
responseContactItem.CompleteName,
34,
@"[In t:ContactItemType Complex Type] The type of the element of CompleteName is t:CompleteNameType (section 3.1.4.1.1.5)");
// Verify the CompleteNameType element of ContactItemType Complex Type.
this.VerifyCompleteNameTypeComplexType(responseContactItem, requestContactItem);
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R38");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R38
Site.CaptureRequirementIfIsNotNull(
responseContactItem.EmailAddresses,
38,
@"[In t:ContactItemType Complex Type] The type of the element of EmailAddresses is t:EmailAddressDictionaryType (section3.1.4.1.1.11)");
// Verify the EmailAddressDictionaryType element of ContactItemType Complex Type.
this.VerifyEmailAddressDictionaryTypeComplexType(responseContactItem.EmailAddresses, requestContactItem.EmailAddresses);
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R40");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R40
Site.CaptureRequirementIfIsNotNull(
responseContactItem.PhysicalAddresses,
40,
@"[In t:ContactItemType Complex Type] The type of the element of PhysicalAddresses is t:PhysicalAddressDictionaryType (section 3.1.4.1.1.17).");
this.VerifylPhysicalAddressDictionaryTypeComplexType(responseContactItem.PhysicalAddresses, requestContactItem.PhysicalAddresses);
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R42");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R42
Site.CaptureRequirementIfIsNotNull(
responseContactItem.PhoneNumbers,
42,
@"[In t:ContactItemType Complex Type] The type of the element of PhoneNumbers is t:PhoneNumberDictionaryType (section 3.1.4.1.1.15).");
// Verify the PhoneNumberDictionaryType element of ContactItemType Complex Type.
this.VerifyPhoneNumberDictionaryTypeComplexType(responseContactItem.PhoneNumbers, requestContactItem.PhoneNumbers);
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R48");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R48
Site.CaptureRequirementIfIsNotNull(
responseContactItem.BusinessHomePage,
48,
@"[In t:ContactItemType Complex Type] The type of the element of BusinessHomePage is xs:anyURI [XMLSCHEMA2].");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R49");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R49
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.BusinessHomePage,
responseContactItem.BusinessHomePage,
49,
@"[In t:ContactItemType Complex Type] BusinessHomePage element: Contains the business home page Uniform Resource Identifier (URI) of a contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R60");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R60
Site.CaptureRequirementIfIsNotNull(
responseContactItem.ImAddresses,
60,
@"[In t:ContactItemType Complex Type] The type of the element of ImAddresses is t:ImAddressDictionaryType (section 3.1.4.1.1.13).");
// Verify the ImAddressDictionaryType element of ContactItemType Complex Type.
this.VerifyImAddressDictionaryTypeComplexType(responseContactItem.ImAddresses, requestContactItem.ImAddresses);
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R70");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R70
Site.CaptureRequirementIfIsTrue(
responseContactItem.PostalAddressIndexSpecified,
70,
@"[In t:ContactItemType Complex Type] The type of the element of PostalAddressIndex is t:PhysicalAddressIndexType (section 3.1.4.1.2.7)");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R71");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R71
this.Site.CaptureRequirementIfAreEqual<PhysicalAddressIndexType>(
requestContactItem.PostalAddressIndex,
responseContactItem.PostalAddressIndex,
71,
@"[In t:ContactItemType Complex Type] PostalAddressIndex element: Represents the index of one of the physical addresses, which is a contact's (2) mailing address.");
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R177");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R177
// Because R177 is captured based on R70 and R61, so if both of them are captured successfully, R177 can be captured.
this.Site.CaptureRequirement(
177,
@"[t:PhysicalAddressIndexType Simple Type] The PhysicalAddressIndexType simple type identifies the display types for physical addresses.");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R50");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R50
Site.CaptureRequirementIfIsNotNull(
responseContactItem.Children,
50,
@"[In t:ContactItemType Complex Type] The type of the element of Children is t:ArrayOfStringsType ([MS-OXWSCDATA] section 2.2.4.13).");
Site.Assert.AreEqual<int>(
1,
responseContactItem.Children.Length,
string.Format(
"The children of the item from response should be 1, actual: '{0}'.", responseContactItem.Children.Length));
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R51");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R51
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.Children[0],
responseContactItem.Children[0],
51,
@"[In t:ContactItemType Complex Type] Children element: Contains the names of children for the contact (2).");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R52");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R52
Site.CaptureRequirementIfIsNotNull(
responseContactItem.Companies,
52,
@"[In t:ContactItemType Complex Type] The type of the element of Companies is t:ArrayOfStringsType.");
Site.Assert.AreEqual<int>(
1,
responseContactItem.Companies.Length,
string.Format(
"The companies of the item from response should be 1, actual: '{0}'.", responseContactItem.Companies.Length));
// Add the debug information
this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R53");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R53
this.Site.CaptureRequirementIfAreEqual<string>(
requestContactItem.Companies[0],
responseContactItem.Companies[0],
53,
@"[In t:ContactItemType Complex Type] Companies element: Contains the names of companies that are associated with a contact (2).");
}