/** Tests that rfds that have urns are prefered to rfds without. */ public void testPrefersRFDWithURN() throws Exception { ranker.addToPool(newRFD("1.2.3.4", 3)); ranker.addToPool(newRFDWithURN("1.2.3.4", 3)); RemoteFileDescContext selected = ranker.getBest(); assertNotNull(selected.getSHA1Urn()); }
/** tests that the ranker exhausts the list of rfds to try */ public void testExhaustsRFDs() throws Exception { ranker.addToPool(newRFD("1.2.3.4", 3)); ranker.addToPool(newRFDWithURN("1.2.3.4", 3)); assertTrue(ranker.hasMore()); ranker.getBest(); ranker.getBest(); assertFalse(ranker.hasMore()); }
public void testGetShareable() throws Exception { RemoteFileDescContext rfd1, rfd2; rfd1 = newRFD("1.2.3.4", 3); rfd2 = newRFDWithURN("1.2.3.4", 3); ranker.addToPool(rfd1); ranker.addToPool(rfd2); Collection c = ranker.getShareableHosts(); assertTrue(c.contains(rfd1)); assertTrue(c.contains(rfd2)); assertEquals(2, c.size()); }
/** tests that the ranker does not allow duplicate rfds */ public void testDisallowsDuplicates() throws Exception { RemoteFileDescContext rfd1, rfd2; rfd1 = newRFDWithURN("1.2.3.4", 3); rfd2 = newRFDWithURN("1.2.3.4", 3); assertTrue(rfd1.equals(rfd2)); assertEquals(rfd1.hashCode(), rfd2.hashCode()); assertSame(rfd1, rfd2); ranker.addToPool(rfd1); ranker.addToPool(rfd2); assertTrue(ranker.hasMore()); ranker.getBest(); assertFalse(ranker.hasMore()); }