public void MSOXWSCONT_S01_TC07_VerifyContactItemWithPhysicalAddressIndexTypeEnums()
{
// The value count of enumeration "PhysicalAddressIndexType" is 4.
int enumCount = 4;
PhysicalAddressIndexType[] physicalAddressIndexTypes = new PhysicalAddressIndexType[enumCount];
physicalAddressIndexTypes[0] = PhysicalAddressIndexType.None;
physicalAddressIndexTypes[1] = PhysicalAddressIndexType.Business;
physicalAddressIndexTypes[2] = PhysicalAddressIndexType.Home;
physicalAddressIndexTypes[3] = PhysicalAddressIndexType.Other;
// Define a contact array to store the contact items got from GetItem operation response.
// Each contact should contain a PhysicalAddressIndexType value as its element's value.
ContactItemType[] contacts = new ContactItemType[enumCount];
for (int i = 0; i < enumCount; i++)
{
PhysicalAddressIndexType physicalAddressIndexType = physicalAddressIndexTypes[i];
#region Step 1:Create the contact item with PhysicalAddressIndexType
// Create a contact item with PhysicalAddressIndexType.
ContactItemType item = new ContactItemType()
{
PostalAddressIndex = physicalAddressIndexType,
PostalAddressIndexSpecified = true,
};
CreateItemResponseType createItemResponse = this.CallCreateItemOperation(item);
// Check the response.
Common.CheckOperationSuccess(createItemResponse, 1, this.Site);
#endregion
#region Step 2:Get the contact item.
// The contact item to get.
ItemIdType[] itemIds = Common.GetItemIdsFromInfoResponse(createItemResponse);
GetItemResponseType getItemResponse = this.CallGetItemOperation(itemIds);
// Check the response.
Common.CheckOperationSuccess(getItemResponse, 1, this.Site);
ContactItemType[] getItems = Common.GetItemsFromInfoResponse<ContactItemType>(getItemResponse);
Site.Assert.AreEqual<int>(
1,
getItems.GetLength(0),
"One contact item should be returned!");
contacts[i] = getItems[0];
Site.Assert.IsNotNull(
contacts[i],
"The returned contact item should not be null.");
Site.Assert.IsTrue(
contacts[i].PostalAddressIndexSpecified,
"The PostalAddressIndex element in returned contact item should be present.");
#endregion
}
#region Capture Code
this.Site.Assert.IsTrue(
this.IsSchemaValidated,
"The schema should be validated! Expected result: {0}, Actual result: {1}",
true.ToString(),
this.IsSchemaValidated.ToString());
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R180");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R180
Site.CaptureRequirementIfAreEqual<PhysicalAddressIndexType>(
PhysicalAddressIndexType.None,
contacts[0].PostalAddressIndex,
180,
@"[In t:PhysicalAddressIndexType Simple Type] None: Indicates that no type is specified for the address.");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R181");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R181
Site.CaptureRequirementIfAreEqual<PhysicalAddressIndexType>(
PhysicalAddressIndexType.Business,
contacts[1].PostalAddressIndex,
181,
@"[In t:PhysicalAddressIndexType Simple Type] Business: Displays the address as a business address.");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R182");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R182
Site.CaptureRequirementIfAreEqual<PhysicalAddressIndexType>(
PhysicalAddressIndexType.Home,
contacts[2].PostalAddressIndex,
182,
@"[In t:PhysicalAddressIndexType Simple Type] Home: Displays the address as a home address.");
// Add the debug information
Site.Log.Add(LogEntryKind.Debug, "Verify MS-OXWSCONT_R183");
// Verify MS-OXWSCONT requirement: MS-OXWSCONT_R183
Site.CaptureRequirementIfAreEqual<PhysicalAddressIndexType>(
PhysicalAddressIndexType.Other,
contacts[3].PostalAddressIndex,
183,
@"[In t:PhysicalAddressIndexType Simple Type] Other: Displays the address as an address of type other.");
#endregion
}