public String serializeToString() {
        switch (bitmapType) {
            case EMPTY:
                break;
            case SINGLE_VALUE:
                return String.format("%s", singleValue);
            case BITMAP_VALUE:
                return this.bitmap.serializeToString();
            case SET_VALUE:
                return setToString();
        }
        return "";
    }
@Test
    public void testSerializeToString() {
        Assert.assertEquals(emptyBitmap.serializeToString(), "");
        Assert.assertEquals(singleBitmap.serializeToString(), "1");
        Assert.assertEquals(mediumBitmap.serializeToString(), "0,1,2,3,4,5,6,7,8,9");
        Assert.assertEquals(largeBitmap.serializeToString(), "0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20," +
                "21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39");

        BitmapValue bitmap = new BitmapValue();
        bitmap.add(1);
        bitmap.add(2);
        bitmap.add(3);
        bitmap.add(100);
        bitmap.add(5);
        bitmap.add(102);
        Assert.assertEquals(bitmap.setToString(), "1,2,3,5,100,102");
    }