public void MSCPSWS_S04_TC08_Resolve_NullResolveInput()
        {
            // Call the helper method to get all claims providers.
            SPProviderHierarchyTree[] allProviders = TestSuiteBase.GetAllProviders();

            ArrayOfString   providerNames = new ArrayOfString();
            SPPrincipalType principalType = SPPrincipalType.User;

            foreach (SPProviderHierarchyTree provider in allProviders)
            {
                providerNames.Add(provider.ProviderName);
            }

            bool caughtException = false;

            try
            {
                // Call Resolve multiple method with resolveInput parameter sets to null.
                CPSWSAdapter.Resolve(providerNames, principalType, null);
            }
            catch (FaultException faultException)
            {
                caughtException = true;

                // If the server returns an ArgumentNullException<""value""> message, then the following requirement can be captured.
                Site.CaptureRequirementIfIsTrue(
                    this.VerifyArgumentNullException(faultException, "value"),
                    616,
                    @"[In Resolve] If this [resolveInput] is NULL, the protocol server MUST return an ArgumentNullException<""value""> message.");
            }
            finally
            {
                this.Site.Assert.IsTrue(caughtException, "If resolveInput is NULL, the protocol server should return an ArgumentNullException<value> message.");
            }
        }
        public void MSCPSWS_S04_TC01_ResolveString()
        {
            // Call the helper method to get all claims providers.
            SPProviderHierarchyTree[] allProviders = TestSuiteBase.GetAllProviders();

            ArrayOfString   providerNames    = new ArrayOfString();
            SPPrincipalType principalType    = SPPrincipalType.SecurityGroup;
            string          resolveInput     = string.Empty;
            bool            isResolveSuccess = false;

            foreach (SPProviderHierarchyTree provider in allProviders)
            {
                if (provider.EntityData.Length != 0)
                {
                    providerNames.Add(provider.ProviderName);

                    foreach (PickerEntity entityData in provider.EntityData)
                    {
                        resolveInput = entityData.DisplayText;

                        // Call Resolve method to resolve an input string to picker entities using a list of claims providers.
                        PickerEntity[] responseOfResolveResult = CPSWSAdapter.Resolve(providerNames, principalType, resolveInput);
                        Site.Assert.IsNotNull(responseOfResolveResult, "Resolve result should not null.");
                        isResolveSuccess = true;
                    }
                }
            }

            // If the claims providers listed in the provider names in the input message is resolved successfully, then the following requirement can be captured.
            Site.CaptureRequirementIfIsTrue(
                isResolveSuccess,
                280,
                @"[In Resolve] The protocol server MUST resolve across all claims providers that meet all the following criteria:
The claims providers are associated with the Web application specified in the input message.
The claims providers are listed in the provider names in the input message.
The claims providers support resolve.");
        }