UrlSelectorImpl implements UrlSelector { @VisibleForTesting static boolean isBaseUrlFor(HttpUrl baseUrl, HttpUrl fullUrl) { return fullUrl.scheme().equals(baseUrl.scheme()) && fullUrl.host().equals(baseUrl.host()) && fullUrl.port() == baseUrl.port() && isPathPrefixFor(baseUrl, fullUrl); } private  UrlSelectorImpl(
            ImmutableList<HttpUrl> baseUrls, boolean reshuffle, Duration failedUrlCooldown, Clock clock); @Override Optional<HttpUrl> redirectTo(HttpUrl requestUrl, String redirectUrl); @Override Optional<HttpUrl> redirectToNext(HttpUrl requestUrl); @Override Optional<HttpUrl> redirectToCurrent(HttpUrl requestUrl); @Override Optional<HttpUrl> redirectToNextRoundRobin(HttpUrl requestUrl); @Override void markAsSucceeded(HttpUrl succeededUrl); @Override void markAsFailed(HttpUrl failedUrl); @Override List<HttpUrl> getBaseUrls();  }
@Test public void testIsBaseUrlFor() { assertThat(UrlSelectorImpl.isBaseUrlFor(parse("http: .isFalse(); assertThat(UrlSelectorImpl.isBaseUrlFor(parse("http: .isFalse(); assertThat(UrlSelectorImpl.isBaseUrlFor(parse("http: .isFalse(); assertThat(UrlSelectorImpl.isBaseUrlFor(parse("http: .isFalse(); assertThat(UrlSelectorImpl.isBaseUrlFor(parse("http: .isTrue(); assertThat(UrlSelectorImpl.isBaseUrlFor(parse("http: .isTrue(); assertThat(UrlSelectorImpl.isBaseUrlFor(parse("http: .isTrue(); assertThat(UrlSelectorImpl.isBaseUrlFor(parse("http: .isTrue(); }