### Question:
CacheValidityPolicy { protected TimeValue getCorrectedReceivedAge(final HttpCacheEntry entry) { final TimeValue apparentAge = getApparentAge(entry); final long ageValue = getAgeValue(entry); return (apparentAge.toSeconds() > ageValue) ? apparentAge : TimeValue.ofSeconds(ageValue); } CacheValidityPolicy(); TimeValue getCurrentAge(final HttpCacheEntry entry, final Date now); TimeValue getFreshnessLifetime(final HttpCacheEntry entry); boolean isResponseFresh(final HttpCacheEntry entry, final Date now); boolean isResponseHeuristicallyFresh(final HttpCacheEntry entry,
            final Date now, final float coefficient, final TimeValue defaultLifetime); TimeValue getHeuristicFreshnessLifetime(final HttpCacheEntry entry,
            final float coefficient, final TimeValue defaultLifetime); boolean isRevalidatable(final HttpCacheEntry entry); boolean mustRevalidate(final HttpCacheEntry entry); boolean proxyRevalidate(final HttpCacheEntry entry); boolean mayReturnStaleWhileRevalidating(final HttpCacheEntry entry, final Date now); boolean mayReturnStaleIfError(final HttpRequest request, final HttpCacheEntry entry, final Date now); boolean hasCacheControlDirective(final HttpCacheEntry entry, final String directive); TimeValue getStaleness(final HttpCacheEntry entry, final Date now); static final TimeValue MAX_AGE; }### Answer:
@Test public void testCorrectedReceivedAgeIsAgeHeaderIfLarger() { final Header[] headers = new Header[] { new BasicHeader("Age", "10"), }; final HttpCacheEntry entry = HttpTestUtils.makeCacheEntry(headers); impl = new CacheValidityPolicy() { @Override protected TimeValue getApparentAge(final HttpCacheEntry ent) { return TimeValue.ofSeconds(6); } }; assertEquals(TimeValue.ofSeconds(10), impl.getCorrectedReceivedAge(entry)); }
@Test public void testCorrectedReceivedAgeIsApparentAgeIfLarger() { final Header[] headers = new Header[] { new BasicHeader("Age", "6"), }; final HttpCacheEntry entry = HttpTestUtils.makeCacheEntry(headers); impl = new CacheValidityPolicy() { @Override protected TimeValue getApparentAge(final HttpCacheEntry ent) { return TimeValue.ofSeconds(10); } }; assertEquals(TimeValue.ofSeconds(10), impl.getCorrectedReceivedAge(entry)); }