/// <summary> /// Capture ImAddressDictionaryType Complex Type related requirements. /// </summary> /// <param name="responseInstantMessageAddressDictionary">The array of ImAddressDictionaryEntryType element from the response package of GetItem operation.</param> /// <param name="requestInstantMessageAddressDictionary">The array of ImAddressDictionaryEntryType element from the request package of CreateItem operation.</param> private void VerifyImAddressDictionaryTypeComplexType(ImAddressDictionaryEntryType[] responseInstantMessageAddressDictionary, ImAddressDictionaryEntryType[] requestInstantMessageAddressDictionary) { Site.Assert.IsNotNull(responseInstantMessageAddressDictionary, "The ImAddresses element should not be null!"); for (int i = 0; i < responseInstantMessageAddressDictionary.Length; i++) { // Verify the ImAddressDictionaryEntryType element of ImAddressDictionaryType Complex Type. this.VerifyImAddressDictionaryEntryTypeComplexType(responseInstantMessageAddressDictionary[i], requestInstantMessageAddressDictionary[i]); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R245"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R245 bool isVerifyR245 = this.IsSchemaValidated && (responseInstantMessageAddressDictionary[i] != null); Site.CaptureRequirementIfIsTrue( isVerifyR245, 245, @"[In t:ImAddressDictionaryType Complex Type] The type of the child element of Entry is t:ImAddressDictionaryEntryType (3.1.4.1.1.14)"); } // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R243"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R243 // R243 can be captured directly after each instant messaging address entry is validated. this.Site.CaptureRequirement( 243, @"[In t:ImAddressDictionaryType Complex Type] The ImAddressDictionaryType complex type contains instant messaging addresses for a contact (2)."); }
/// <summary> /// Capture ImAddressDictionaryEntryType Complex Type related requirements. /// </summary> /// <param name="responseInstantMessageAddressDictionaryEntry">The ImAddressDictionaryEntryType element from the response package of GetItem operation.</param> /// <param name="requestInstantMessageAddressDictionaryEntry">The ImAddressDictionaryEntryType element from the request package of CreateItem operation.</param> private void VerifyImAddressDictionaryEntryTypeComplexType(ImAddressDictionaryEntryType responseInstantMessageAddressDictionaryEntry, ImAddressDictionaryEntryType requestInstantMessageAddressDictionaryEntry) { Site.Assert.IsNotNull(responseInstantMessageAddressDictionaryEntry, "The ImAddresses element should not contain null entry!"); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R241"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R241 // Key element is a required element in schema, ImAddressKeyType is verified when the schema is validated. Site.CaptureRequirementIfIsTrue( this.IsSchemaValidated, 241, @"[In t:ImAddressDictionaryEntryType Complex Type] The type of the attribute of key is t:ImAddressKeyType (3.1.4.1.2.5)"); // Add the debug information this.Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R242"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R242 this.Site.CaptureRequirementIfAreEqual<ImAddressKeyType>( requestInstantMessageAddressDictionaryEntry.Key, responseInstantMessageAddressDictionaryEntry.Key, 242, @"[In t:ImAddressDictionaryEntryType Complex Type] t:ImAddressKeyType attribute: Represents the instant messaging addresses for a contact (2)."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R239"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R239 // Because R239 is captured based on R241 and R242, so if both of them are captured successfully, R239 also should be captured. this.Site.CaptureRequirement( 239, @"[In t:ImAddressDictionaryEntryType Complex Type] The ImAddressDictionaryEntryType complex type represents a collection of instant messaging addresses for a contact (2)."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R61"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R61 // Because R61 is captured in the same condition with R242, so if R242 is captured successfully, R61 also should be captured. this.Site.CaptureRequirement( 61, @"[In t:ContactItemType Complex Type] ImAddresses element: Contains instant messaging addresses for a contact (2)."); // Add the debug information Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R246"); // Verify MS-OXWSCONT requirement: MS-OXWSCONT_R246 // Because R246 is captured in the same condition with R242, so if R242 is captured successfully, R246 also should be captured. this.Site.CaptureRequirement( 246, @"[In t:ImAddressDictionaryType Complex Type] Entry child element: Represents a collection of instant messaging addresses for a contact (2)."); }