long unreadMin = minUnreadTimestampMsSinceEpoch.get(); if (readMin == Long.MAX_VALUE && unreadMin == Long.MAX_VALUE
@Test public void sum() { BucketingFunction f = newFunc(); for (int i = 0; i < 100; i++) { f.add(i, i); assertEquals(((i + 1) * i) / 2, f.get()); } }
@Test public void movingSum() { BucketingFunction f = newFunc(); int lost = 0; for (int i = 0; i < 200; i++) { f.add(i, 1); if (i >= 100) { f.remove(i - 100); if (i % BUCKET_WIDTH == BUCKET_WIDTH - 1) { lost += BUCKET_WIDTH; } } assertEquals(i + 1 - lost, f.get()); } } }