public void OpenIdConnectProtocolValidationParameters_GetSets()
        {
            OpenIdConnectProtocolValidationParameters validationParameters = new OpenIdConnectProtocolValidationParameters();
            Type type = typeof(OpenIdConnectProtocolValidationParameters);
            PropertyInfo[] properties = type.GetProperties();
            if (properties.Length != 8)
                Assert.Fail("Number of properties has changed from 8 to: " + properties.Length + ", adjust tests");

            GetSetContext context =
                new GetSetContext
                {
                    PropertyNamesAndSetGetValue = new List<KeyValuePair<string, List<object>>>
                    {
                        new KeyValuePair<string, List<object>>("RequireAcr", new List<object>{false, true, false}),
                        new KeyValuePair<string, List<object>>("RequireAmr", new List<object>{false, true, false}),
                        new KeyValuePair<string, List<object>>("RequireAuthTime", new List<object>{false, true, false}),
                        new KeyValuePair<string, List<object>>("RequireAzp", new List<object>{false, true, false}),
                        new KeyValuePair<string, List<object>>("RequireNonce", new List<object>{true, false, true}),
                        new KeyValuePair<string, List<object>>("RequireSub", new List<object>{false, true, false}),
                        new KeyValuePair<string, List<object>>("ResponseType", new List<object>{OpenIdConnectMessage.DefaultResponseType, OpenIdConnectResponseTypes.IdToken, OpenIdConnectResponseTypes.CodeIdToken}),
                    },
                    Object = validationParameters,
                };

            TestUtilities.GetSet(context);
            if (context.Errors.Count != 0)
            {
                StringBuilder sb = new StringBuilder();
                sb.AppendLine(Environment.NewLine);
                foreach(string str in context.Errors)
                    sb.AppendLine(str);

                Assert.Fail(sb.ToString());
            }

            ExpectedException ee = ExpectedException.ArgumentNullException();
            try
            {
                validationParameters.ResponseType = null;
                ee.ProcessNoException();
            }
            catch(Exception ex)
            {
                ee.ProcessException(ex);
            }

            Assert.IsNotNull(validationParameters.AlgorithmMap);
            Assert.AreEqual(validationParameters.AlgorithmMap.Count, 9);

            try
            {
                validationParameters.AlgorithmMap = null;
                ee.ProcessNoException();
            }
            catch (Exception ex)
            {
                ee.ProcessException(ex);
            }

            validationParameters.AlgorithmMap = JwtSecurityTokenHandler.InboundAlgorithmMap;
            Assert.IsTrue(IdentityComparer.AreEqual(JwtSecurityTokenHandler.InboundAlgorithmMap, validationParameters.AlgorithmMap));
        }
 /// <summary>
 /// Creates an instance of <see cref="OpenIdConnectProtocolValidationContext"/> with defaults:
 /// </summary>
 public OpenIdConnectProtocolValidationContext()
 {
     _protocolValidationParameters = new OpenIdConnectProtocolValidationParameters();
 }