/** @since 0.9.10 */ public void testOrder() { int bits = Hash.HASH_LENGTH * 8; int errors = 0; int lastEnd = -1; for (KBucket<Hash> b : set.getBuckets()) { int beg = b.getRangeBegin(); if (beg != lastEnd + 1) { log.error("Out of order: " + b); errors++; } lastEnd = b.getRangeEnd(); } if (lastEnd != (bits * (1 << (B-1))) - 1) { log.error("Out of order: last=" + lastEnd); errors++; } assertTrue(errors == 0); }
/** @since 0.9.10 */ public void testAudit() { int errors = 0; for (KBucket<Hash> b : set.getBuckets()) { for (Hash sds : b.getEntries()) { int range = set.getRange(sds); if (range < b.getRangeBegin() || range > b.getRangeEnd()) { log.error("Hash " + sds + " with range " + range + " does not belong in " + b); errors++; } } } assertTrue(errors == 0); }
/** @since 0.9.10 */ public void testGenRandom() { int errors = 0; for (KBucket<Hash> b : set.getBuckets()) { for (int j = 0; j < 4000; j++) { Hash rand = set.generateRandomKey(b); int range = set.getRange(rand); if (range < b.getRangeBegin() || range > b.getRangeEnd()) { log.error("Generate random key failed range=" + range + " for " + rand + " meant for bucket " + b); errors++; } } } assertTrue(errors == 0); }