public void TryParse_should_return_false_when_the_end_point_is_invalid(string value)
        {
            EndPoint result;
            var      success = EndPointParser.TryParse(value, out result);

            success.Should().BeFalse();
        }
        public void TryParse_should_parse_an_ipv6_address(string value, string expectedAddress, int expectedPort)
        {
            EndPoint result;
            var      success = EndPointParser.TryParse(value, out result);

            success.Should().BeTrue();
            result.Should().Be(new IPEndPoint(IPAddress.Parse(expectedAddress), expectedPort));
            result.AddressFamily.Should().Be(AddressFamily.InterNetworkV6);
        }
        public void TryParse_should_parse_a_hostname(string value, string expectedHost, int expectedPort)
        {
            EndPoint result;
            var      success = EndPointParser.TryParse(value, out result);

            success.Should().BeTrue();
            result.Should().Be(new DnsEndPoint(expectedHost, expectedPort));
            result.AddressFamily.Should().Be(AddressFamily.Unspecified);
        }
        public void Parse_should_throw_an_ArgumentException_when_value_is_not_a_valid_end_point(string value)
        {
            Action act = () => EndPointParser.Parse(value);

            act.ShouldThrow <ArgumentException>();
        }
        public void Parse_should_throw_an_ArgumentNullException_when_value_is_null()
        {
            Action act = () => EndPointParser.Parse(null);

            act.ShouldThrow <ArgumentNullException>();
        }