public void ToString_should_return_expected_result_when_value_is_a_DnsEndPoint()
        {
            var endPoint = new DnsEndPoint("localhost", 27017);

            var result = EndPointHelper.ToString(endPoint);

            result.Should().Be("localhost:27017");
        }
        public void ToString_should_return_expected_result_when_value_is_an_IPEndPoint()
        {
            var endPoint = new IPEndPoint(new IPAddress(new byte[] { 127, 0, 0, 1 }), 27017);

            var result = EndPointHelper.ToString(endPoint);

            result.Should().Be("127.0.0.1:27017");
        }
        public void Equals_should_return_true_when_endpoints_are_equal(string a, string b, bool expectedResult)
        {
            var endPoint1 = a == null ? null : EndPointHelper.Parse(a);
            var endPoint2 = b == null ? null : EndPointHelper.Parse(b);

            var result = EndPointHelper.Equals(endPoint1, endPoint2);

            result.Should().Be(expectedResult);
        }
        public void TryParse_should_parse_an_ipv6_address(string value, string expectedAddress, int expectedPort)
        {
            EndPoint result;
            var      success = EndPointHelper.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 = EndPointHelper.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 = () => EndPointHelper.Parse(value);

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

            act.ShouldThrow <ArgumentNullException>();
        }