public void add(int value) {
        add(Util.toUnsignedLong(value));
    }
@Test
    public void testBitmapValueAdd() {
        // test add int
        BitmapValue bitmapValue1 = new BitmapValue();
        for (int i = 0; i < 10; i++) {
            bitmapValue1.add(i);
        }
        checkBitmap(bitmapValue1, BitmapValue.SET_VALUE, 0, 10);

        // test add long
        BitmapValue bitmapValue2 = new BitmapValue();
        for (long i = Long.MAX_VALUE - 1; i > Long.MAX_VALUE - 11; i--) {
            bitmapValue2.add(i);
        }
        checkBitmap(bitmapValue2, BitmapValue.SET_VALUE, Long.MAX_VALUE - 10, Long.MAX_VALUE);

        // test add int and long
        for (int i = 0; i < 10; i++) {
            bitmapValue2.add(i);
        }
        checkBitmap(bitmapValue2, BitmapValue.SET_VALUE, 0, 10, Long.MAX_VALUE - 10, Long.MAX_VALUE);

        // test distinct
        BitmapValue bitmapValue = new BitmapValue();
        bitmapValue.add(1);
        bitmapValue.add(1);
        checkBitmap(bitmapValue, BitmapValue.SINGLE_VALUE, 1, 2);
    }