/// <summary> /// Capture PhysicalAddressDictionaryType Complex Type related requirements. /// </summary> /// <param name="responsePhysicalAddressDictionaryType">The array of PhysicalAddressDictionaryEntryType element from the response package of GetItem operation.</param> /// <param name="requestPhysicalAddressDictionaryType">The array of PhysicalAddressDictionaryEntryType element from the request package of CreateItem operation.</param> private void VerifylPhysicalAddressDictionaryTypeComplexType(PhysicalAddressDictionaryEntryType[] responsePhysicalAddressDictionaryType, PhysicalAddressDictionaryEntryType[] requestPhysicalAddressDictionaryType) { Site.Assert.IsNotNull(responsePhysicalAddressDictionaryType, "The PhysicalAddresses element should not be null!"); for (int i = 0; i < responsePhysicalAddressDictionaryType.Length; i++) { // Verify the PhysicalAddressDictionaryEntryType element of PhysicalAddressDictionaryType Complex Type. this.VerifyPhysicalAddressDictionaryEntryTypeComplexType(responsePhysicalAddressDictionaryType[i], requestPhysicalAddressDictionaryType[i]); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R271"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R271 bool isVerifyR271 = this.IsSchemaValidated && (responsePhysicalAddressDictionaryType[i] != null); Site.CaptureRequirementIfIsTrue( isVerifyR271, 271, @"[In t:PhysicalAddressDictionaryType Complex Type] The type of the child element of entry is t:PhysicalAddressDictionaryEntryType (section 3.1.4.1.1.16)."); } // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R269"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R269 // R269 can be captured directly after each physical address entry is validated. this.Site.CaptureRequirement( 269, @"[In t:PhysicalAddressDictionaryType Complex Type] The PhysicalAddressDictionaryType complex type contains physical addresses that are associated with a contact (2)."); }
/// <summary> /// Capture PhysicalAddressDictionaryEntryType Complex Type related requirements. /// </summary> /// <param name="responsePhysicalAddressDictionaryEntryType">The PhysicalAddressDictionaryEntryType element from the response package of GetItem operation.</param> /// <param name="requestPhysicalAddressDictionaryEntryType">The PhysicalAddressDictionaryEntryType element from the request package of CreateItem operation.</param> private void VerifyPhysicalAddressDictionaryEntryTypeComplexType(PhysicalAddressDictionaryEntryType responsePhysicalAddressDictionaryEntryType, PhysicalAddressDictionaryEntryType requestPhysicalAddressDictionaryEntryType) { Site.Assert.IsNotNull(responsePhysicalAddressDictionaryEntryType, "The PhysicalAddresses element should not contain null entry!"); Site.Assert.IsNotNull(responsePhysicalAddressDictionaryEntryType.Street, "The Street of the PhysicalAddressDictionaryEntryType element from response should not be null."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R257"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R257 Site.CaptureRequirementIfIsTrue( this.IsSchemaValidated, 257, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] The type of the child element of Street is xs:string [XMLSCHEMA2]"); // Add the debug information this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R258"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R258 this.Site.CaptureRequirementIfAreEqual<string>( requestPhysicalAddressDictionaryEntryType.Street, responsePhysicalAddressDictionaryEntryType.Street, 258, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] Street child element: Contains the street address for a contact (2) item."); Site.Assert.IsNotNull(responsePhysicalAddressDictionaryEntryType.City, "The City of the PhysicalAddressDictionaryEntryType element from response should not be null."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R259"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R259 Site.CaptureRequirementIfIsTrue( this.IsSchemaValidated, 259, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] The type of the child element of City is xs:string"); // Add the debug information this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R260"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R260 this.Site.CaptureRequirementIfAreEqual<string>( requestPhysicalAddressDictionaryEntryType.City, responsePhysicalAddressDictionaryEntryType.City, 260, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] City child element: Contains the city name for a contact (2) item."); Site.Assert.IsNotNull(responsePhysicalAddressDictionaryEntryType.State, "The State of the PhysicalAddressDictionaryEntryType element from response should not be null."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R261"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R261 Site.CaptureRequirementIfIsTrue( this.IsSchemaValidated, 261, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] The type of the child element of State is xs:string"); // Add the debug information this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R262"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R262 this.Site.CaptureRequirementIfAreEqual<string>( requestPhysicalAddressDictionaryEntryType.State, responsePhysicalAddressDictionaryEntryType.State, 262, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] State child element: Contains the state for a contact (2) item."); Site.Assert.IsNotNull(responsePhysicalAddressDictionaryEntryType.CountryOrRegion, "The CountryOrRegion of the PhysicalAddressDictionaryEntryType element from response should not be null."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R263"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R263 Site.CaptureRequirementIfIsTrue( this.IsSchemaValidated, 263, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] The type of the child element of CountryOrRegion is xs:string"); // Add the debug information this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R264"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R264 this.Site.CaptureRequirementIfAreEqual<string>( requestPhysicalAddressDictionaryEntryType.CountryOrRegion, responsePhysicalAddressDictionaryEntryType.CountryOrRegion, 264, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] CountryOrRegion child element: Contains the country or region for a contact (2) item."); Site.Assert.IsNotNull(responsePhysicalAddressDictionaryEntryType.PostalCode, "The PostalCode of the PhysicalAddressDictionaryEntryType element from response should not be null."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R265"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R265 Site.CaptureRequirementIfIsTrue( this.IsSchemaValidated, 265, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] The type of the child element of PostalCode is xs:string"); // Add the debug information this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R266"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R266 this.Site.CaptureRequirementIfAreEqual<string>( requestPhysicalAddressDictionaryEntryType.PostalCode, responsePhysicalAddressDictionaryEntryType.PostalCode, 266, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] PostalCode child element: Contains the postal code for a contact (2) item."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R267"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R267 // Key element is a required element in schema, PhysicalAddressKeyType is verified when the schema is validated. Site.CaptureRequirementIfIsTrue( this.IsSchemaValidated, 267, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] The type of the attribute of Key is t:PhysicalAddressKeyType (section 3.1.4.1.2.8)"); // Add the debug information this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R268"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R268 this.Site.CaptureRequirementIfAreEqual<PhysicalAddressKeyType>( requestPhysicalAddressDictionaryEntryType.Key, responsePhysicalAddressDictionaryEntryType.Key, 268, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] Key attribute: Identifies the types of physical addresses for a contact (2)."); // Add the debug information this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R184"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R184 // Because R184 is captured based on R267 and R268, so if both of them are captured successfully, R184 can be captured. this.Site.CaptureRequirement( 184, @"[In t:PhysicalAddressKeyType Simple Type] The PhysicalAddressKeyType simple type identifies the types of physical addresses for a contact (2)."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R255"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R255 // Because R255 is captured based on R258, R260, R262, R264, R266 and R268, so if all of them are captured successfully, R255 also should be captured. this.Site.CaptureRequirement( 255, @"[In t:PhysicalAddressDictionaryEntryType Complex Type] The PhysicalAddressDictionaryEntryType complex type contains information that defines a physical address, such as a street address."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R272"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R272 // Because R272 is captured based on R258, R260, R262, R264, R266 and R268, so if all of them are captured successfully, R272 can be captured. this.Site.CaptureRequirement( 272, @"[In t:PhysicalAddressDictionaryType Complex Type] entry child element: Contains information that defines a physical address, such as a street address."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R41"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R41 // Because R41 is captured based on R258, R260, R262, R264, R266 and R268, so if all of them are captured successfully, R41 can be captured. this.Site.CaptureRequirement( 41, @"[In t:ContactItemType Complex Type] PhysicalAddresses element: Represents a collection of physical addresses that are associated with a contact."); }