### Question:
FastAggregation { public static RoaringBitmap or(Iterator<? extends RoaringBitmap> bitmaps) { return naive_or(bitmaps); } private  FastAggregation(); static RoaringBitmap and(Iterator<? extends RoaringBitmap> bitmaps); static RoaringBitmap and(RoaringBitmap... bitmaps); static RoaringBitmap and(long[] aggregationBuffer, RoaringBitmap... bitmaps); @Deprecated static RoaringBitmap horizontal_or(Iterator<? extends RoaringBitmap> bitmaps); static RoaringBitmap horizontal_or(List<? extends RoaringBitmap> bitmaps); static RoaringBitmap horizontal_or(RoaringBitmap... bitmaps); static RoaringBitmap horizontal_xor(RoaringBitmap... bitmaps); static RoaringBitmap naive_and(Iterator<? extends RoaringBitmap> bitmaps); static RoaringBitmap naive_and(RoaringBitmap... bitmaps); static RoaringBitmap workShyAnd(long[] buffer, RoaringBitmap... bitmaps); static RoaringBitmap workAndMemoryShyAnd(long[] buffer, RoaringBitmap... bitmaps); static RoaringBitmap naive_or(Iterator<? extends RoaringBitmap> bitmaps); static RoaringBitmap naive_or(RoaringBitmap... bitmaps); static RoaringBitmap naive_xor(Iterator<? extends RoaringBitmap> bitmaps); static RoaringBitmap naive_xor(RoaringBitmap... bitmaps); static RoaringBitmap or(Iterator<? extends RoaringBitmap> bitmaps); static RoaringBitmap or(RoaringBitmap... bitmaps); static RoaringBitmap priorityqueue_or(Iterator<? extends RoaringBitmap> bitmaps); static RoaringBitmap priorityqueue_or(RoaringBitmap... bitmaps); static RoaringBitmap priorityqueue_xor(RoaringBitmap... bitmaps); static RoaringBitmap xor(Iterator<? extends RoaringBitmap> bitmaps); static RoaringBitmap xor(RoaringBitmap... bitmaps);  }### Answer:
@Test public void or() { RoaringBitmap rb1 = RoaringBitmap.bitmapOf(0, 1, 2); RoaringBitmap rb2 = RoaringBitmap.bitmapOf(0, 5, 6); RoaringBitmap rb3 = RoaringBitmap.bitmapOf(1<<16, 2<<16); RoaringBitmap result = FastAggregation.or(rb1, rb2, rb3); RoaringBitmap expected = RoaringBitmap.bitmapOf(0, 1, 2, 5, 6, 1<<16, 2<<16); assertEquals(expected, result); }
@Test public void testOrWithIterator() { final RoaringBitmap b1 = RoaringBitmap.bitmapOf(1, 2); final RoaringBitmap b2 = RoaringBitmap.bitmapOf(2, 3); final RoaringBitmap bItResult = FastAggregation.or(Arrays.asList(b1, b2).iterator()); assertTrue(bItResult.contains(1)); assertTrue(bItResult.contains(2)); assertTrue(bItResult.contains(3)); final ExtendedRoaringBitmap eb1 = new ExtendedRoaringBitmap(); eb1.add(1); eb1.add(2); final ExtendedRoaringBitmap eb2 = new ExtendedRoaringBitmap(); eb2.add(2); eb2.add(3); final RoaringBitmap ebItResult = FastAggregation.or(Arrays.asList(b1, b2).iterator()); assertTrue(ebItResult.contains(1)); assertTrue(ebItResult.contains(2)); assertTrue(ebItResult.contains(3)); }