public IEnumerator <object[]> GetEnumerator()
            {
                // http
                yield return(new object[] { $"endpoint={HttpEndpoint};accesskey={DefaultKey}", HttpEndpoint, HttpEndpoint });

                yield return(new object[] { $"endpoint={HttpEndpoint}:80;accesskey={DefaultKey}", HttpEndpoint, HttpEndpoint });

                yield return(new object[] { $"endpoint={HttpEndpoint}:500;accesskey={DefaultKey}", HttpEndpoint, HttpEndpoint + ":500" });

                // https
                yield return(new object[] { $"endpoint={HttpsEndpoint};accesskey={DefaultKey}", HttpsEndpoint, HttpsEndpoint });

                yield return(new object[] { $"endpoint={HttpsEndpoint}:443;accesskey={DefaultKey}", HttpsEndpoint, HttpsEndpoint });

                yield return(new object[] { $"endpoint={HttpsEndpoint}:500;accesskey={DefaultKey}", HttpsEndpoint, HttpsEndpoint + ":500" });

                // uppercase endpoint
                yield return(new object[] { $"endpoint={HttpEndpoint.ToUpper()};accesskey={DefaultKey}", HttpEndpoint, HttpEndpoint });

                yield return(new object[] { $"endpoint={HttpsEndpoint.ToUpper()};accesskey={DefaultKey}", HttpsEndpoint, HttpsEndpoint });

                // port override
                yield return(new object[] { $"endpoint={HttpsEndpoint};accesskey={DefaultKey};port=500", HttpsEndpoint, HttpsEndpoint + ":500" });

                yield return(new object[] { $"endpoint={HttpsEndpoint}:500;accesskey={DefaultKey};port=443", HttpsEndpoint, HttpsEndpoint });

                // uppercase property name
                yield return(new object[] { $"ENDPOINT={HttpEndpoint};ACCESSKEY={DefaultKey}", HttpEndpoint, HttpEndpoint });

                yield return(new object[] { $"ENDPOINT={HttpsEndpoint}:500;ACCESSKEY={DefaultKey};PORT=443", HttpsEndpoint, HttpsEndpoint });
            }