function it_replaces_authority_components_with_new_authority()
    {
        $new_authority = $this->withAuthority("corge:grault@quux.qux:9999");

        $new_authority->getAuthority()->shouldReturn("corge:grault@quux.qux:9999");
        $new_authority->getUserInfo()->shouldReturn("corge:grault");
        $new_authority->getHost()->shouldReturn("quux.qux");
        $new_authority->getPort()->shouldReturn(9999);
    }