/// <summary> /// Capture PhoneNumberDictionaryType Complex Type related requirements. /// </summary> /// <param name="responsePhoneNumberDictionaryType">The array of PhoneNumberDictionaryEntryType element from the response package of GetItem operation.</param> /// <param name="requestPhoneNumberDictionaryType">The array of PhoneNumberDictionaryEntryType element from the request package of CreateItem operation.</param> private void VerifyPhoneNumberDictionaryTypeComplexType(PhoneNumberDictionaryEntryType[] responsePhoneNumberDictionaryType, PhoneNumberDictionaryEntryType[] requestPhoneNumberDictionaryType) { Site.Assert.IsNotNull(responsePhoneNumberDictionaryType, "The PhoneNumbers element should not be null!"); for (int i = 0; i < responsePhoneNumberDictionaryType.Length; i++) { // Verify the PhoneNumberDictionaryEntryType element of PhoneNumberDictionaryType Complex Type. this.VerifyPhoneNumberDictionaryEntryTypeComplexType(responsePhoneNumberDictionaryType[i], requestPhoneNumberDictionaryType[i]); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R253"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R253 bool isVerifyR253 = this.IsSchemaValidated && (responsePhoneNumberDictionaryType[i] != null); Site.CaptureRequirementIfIsTrue( isVerifyR253, 253, @"[In t:PhoneNumberDictionaryType Complex Type] The type of the child element of Entry is t:PhoneNumberDictionaryEntryType (3.1.4.1.1.14)."); } // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R251"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R251 // R251 can be captured directly after each telephone number entry is validated. this.Site.CaptureRequirement( 251, @"[In t:PhoneNumberDictionaryType Complex Type] The PhoneNumberDictionaryType complex type represents telephone numbers for a contact (2)."); }
/// <summary> /// Capture PhoneNumberDictionaryEntryType Complex Type related requirements. /// </summary> /// <param name="responsePhoneNumberDictionaryEntryType">The PhoneNumberDictionaryEntryType element from the response package of GetItem operation.</param> /// <param name="requestPhoneNumberDictionaryEntryType">The PhoneNumberDictionaryEntryType element from the request package of CreateItem operation.</param> private void VerifyPhoneNumberDictionaryEntryTypeComplexType(PhoneNumberDictionaryEntryType responsePhoneNumberDictionaryEntryType, PhoneNumberDictionaryEntryType requestPhoneNumberDictionaryEntryType) { Site.Assert.IsNotNull(responsePhoneNumberDictionaryEntryType, "The entry in PhoneNumbers element should not be null!"); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R249"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R249 // Key element is a required element in schema, PhoneNumberKeyType is verified when the schema is validated. Site.CaptureRequirementIfIsTrue( this.IsSchemaValidated, 249, @"[In t:PhoneNumberDictionaryEntryType Complex Type] The type of the attribute of Key is t:PhoneNumberKeyType (3.1.4.1.2.6)."); // Add the debug information this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R250"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R250 this.Site.CaptureRequirementIfAreEqual<PhoneNumberKeyType>( requestPhoneNumberDictionaryEntryType.Key, responsePhoneNumberDictionaryEntryType.Key, 250, @"[In t:PhoneNumberDictionaryEntryType Complex Type] Key attribute: Represents types of telephone numbers for a contact (2)."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R247"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R247 // Because R247 is captured based on R249 and R250, so if both of them are captured successfully, R247 also should be captured. this.Site.CaptureRequirement( 247, @"[In t:PhoneNumberDictionaryEntryType Complex Type] The PhoneNumberDictionaryEntryType complex type contains a telephone number for a contact (2)."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R43"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R43 // Because R43 is captured in the same condition with R250, so if R250 is captured successfully, R43 also should be captured. this.Site.CaptureRequirement( 43, @"[In t:ContactItemType Complex Type] PhoneNumbers element: Represents a collection of telephone numbers for a contact (2)."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R254"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R254 // Because R254 is captured in the same condition with R250, so if R250 is captured successfully, R254 also should be captured. this.Site.CaptureRequirement( 254, @"[In t:PhoneNumberDictionaryType Complex Type] Entry child element: Contains a telephone number for a contact (2)."); }