FileDocCategorySizeDatePackage
TestBitField.javaAPI DocApache Poi 3.0.19445Mon Jan 01 12:39:46 GMT 2007org.apache.poi.util

TestBitField

public class TestBitField extends TestCase
Class to test BitField functionality
author
Marc Johnson
author
Glen Stampoultzis (gstamp@iprimus.com.au)

Fields Summary
private static BitField
bf_multi
private static BitField
bf_single
Constructors Summary
public TestBitField(String name)
Constructor TestBitField

param
name


             

      
    
        super(name);
    
Methods Summary
public static voidmain(java.lang.String[] ignored_args)
main method to run the unit tests

param
ignored_args

        System.out.println("Testing util.BitField functionality");
        junit.textui.TestRunner.run(TestBitField.class);
    
public voidtestByte()

        assertEquals(1, BitFieldFactory.getInstance(1).setByteBoolean(( byte ) 0, true));
        assertEquals(2, BitFieldFactory.getInstance(2).setByteBoolean(( byte ) 0, true));
        assertEquals(4, BitFieldFactory.getInstance(4).setByteBoolean(( byte ) 0, true));
        assertEquals(8, BitFieldFactory.getInstance(8).setByteBoolean(( byte ) 0, true));
        assertEquals(16, BitFieldFactory.getInstance(16).setByteBoolean(( byte ) 0, true));
        assertEquals(32, BitFieldFactory.getInstance(32).setByteBoolean(( byte ) 0, true));
        assertEquals(64, BitFieldFactory.getInstance(64).setByteBoolean(( byte ) 0, true));
        assertEquals(-128,
                     BitFieldFactory.getInstance(128).setByteBoolean(( byte ) 0, true));
        assertEquals(0, BitFieldFactory.getInstance(1).setByteBoolean(( byte ) 1, false));
        assertEquals(0, BitFieldFactory.getInstance(2).setByteBoolean(( byte ) 2, false));
        assertEquals(0, BitFieldFactory.getInstance(4).setByteBoolean(( byte ) 4, false));
        assertEquals(0, BitFieldFactory.getInstance(8).setByteBoolean(( byte ) 8, false));
        assertEquals(0, BitFieldFactory.getInstance(16).setByteBoolean(( byte ) 16, false));
        assertEquals(0, BitFieldFactory.getInstance(32).setByteBoolean(( byte ) 32, false));
        assertEquals(0, BitFieldFactory.getInstance(64).setByteBoolean(( byte ) 64, false));
        assertEquals(0, BitFieldFactory.getInstance(128).setByteBoolean(( byte ) 128,
                                     false));
        assertEquals(-2, BitFieldFactory.getInstance(1).setByteBoolean(( byte ) 255, false));
        byte clearedBit = BitFieldFactory.getInstance(0x40).setByteBoolean(( byte ) -63,
                                       false);

        assertEquals(false, BitFieldFactory.getInstance(0x40).isSet(clearedBit));
    
public voidtestClear()
test the clear() method

        assertEquals(bf_multi.clear(-1), 0xFFFFC07F);
        assertEquals(bf_single.clear(-1), 0xFFFFBFFF);
    
public voidtestClearShort()
test the clearShort() method

        assertEquals(bf_multi.clearShort(( short ) -1), ( short ) 0xC07F);
        assertEquals(bf_single.clearShort(( short ) -1), ( short ) 0xBFFF);
    
public voidtestGetRawValue()
test the getRawValue() method

        assertEquals(bf_multi.getRawValue(-1), 0x3F80);
        assertEquals(bf_multi.getRawValue(0), 0);
        assertEquals(bf_single.getRawValue(-1), 0x4000);
        assertEquals(bf_single.getRawValue(0), 0);
    
public voidtestGetShortRawValue()
test the getShortRawValue() method

        assertEquals(bf_multi.getShortRawValue(( short ) -1),
                     ( short ) 0x3F80);
        assertEquals(bf_multi.getShortRawValue(( short ) 0), ( short ) 0);
        assertEquals(bf_single.getShortRawValue(( short ) -1),
                     ( short ) 0x4000);
        assertEquals(bf_single.getShortRawValue(( short ) 0), ( short ) 0);
    
public voidtestGetShortValue()
test the getShortValue() method

        assertEquals(bf_multi.getShortValue(( short ) -1), ( short ) 127);
        assertEquals(bf_multi.getShortValue(( short ) 0), ( short ) 0);
        assertEquals(bf_single.getShortValue(( short ) -1), ( short ) 1);
        assertEquals(bf_single.getShortValue(( short ) 0), ( short ) 0);
    
public voidtestGetValue()
test the getValue() method

        assertEquals(bf_multi.getValue(-1), 127);
        assertEquals(bf_multi.getValue(0), 0);
        assertEquals(bf_single.getValue(-1), 1);
        assertEquals(bf_single.getValue(0), 0);
    
public voidtestIsAllSet()
test the isAllSet() method

        for (int j = 0; j < 0x3F80; j += 0x80)
        {
            assertTrue(!bf_multi.isAllSet(j));
        }
        assertTrue(bf_multi.isAllSet(0x3F80));
        assertTrue(!bf_single.isAllSet(0));
        assertTrue(bf_single.isAllSet(0x4000));
    
public voidtestIsSet()
test the isSet() method

        assertTrue(!bf_multi.isSet(0));
        for (int j = 0x80; j <= 0x3F80; j += 0x80)
        {
            assertTrue(bf_multi.isSet(j));
        }
        assertTrue(!bf_single.isSet(0));
        assertTrue(bf_single.isSet(0x4000));
    
public voidtestSet()
test the set() method

        assertEquals(bf_multi.set(0), 0x3F80);
        assertEquals(bf_single.set(0), 0x4000);
    
public voidtestSetBoolean()
test the setBoolean() method

        assertEquals(bf_multi.set(0), bf_multi.setBoolean(0, true));
        assertEquals(bf_single.set(0), bf_single.setBoolean(0, true));
        assertEquals(bf_multi.clear(-1), bf_multi.setBoolean(-1, false));
        assertEquals(bf_single.clear(-1), bf_single.setBoolean(-1, false));
    
public voidtestSetShort()
test the setShort() method

        assertEquals(bf_multi.setShort(( short ) 0), ( short ) 0x3F80);
        assertEquals(bf_single.setShort(( short ) 0), ( short ) 0x4000);
    
public voidtestSetShortBoolean()
test the setShortBoolean() method

        assertEquals(bf_multi.setShort(( short ) 0),
                     bf_multi.setShortBoolean(( short ) 0, true));
        assertEquals(bf_single.setShort(( short ) 0),
                     bf_single.setShortBoolean(( short ) 0, true));
        assertEquals(bf_multi.clearShort(( short ) -1),
                     bf_multi.setShortBoolean(( short ) -1, false));
        assertEquals(bf_single.clearShort(( short ) -1),
                     bf_single.setShortBoolean(( short ) -1, false));
    
public voidtestSetShortValue()
test the setShortValue() method

        for (int j = 0; j < 128; j++)
        {
            assertEquals(bf_multi
                .getShortValue(bf_multi
                    .setShortValue(( short ) 0, ( short ) j)), ( short ) j);
            assertEquals(bf_multi.setShortValue(( short ) 0, ( short ) j),
                         ( short ) (j << 7));
        }

        // verify that excess bits are stripped off
        assertEquals(bf_multi.setShortValue(( short ) 0x3f80, ( short ) 128),
                     ( short ) 0);
        for (int j = 0; j < 2; j++)
        {
            assertEquals(bf_single
                .getShortValue(bf_single
                    .setShortValue(( short ) 0, ( short ) j)), ( short ) j);
            assertEquals(bf_single.setShortValue(( short ) 0, ( short ) j),
                         ( short ) (j << 14));
        }

        // verify that excess bits are stripped off
        assertEquals(bf_single.setShortValue(( short ) 0x4000, ( short ) 2),
                     ( short ) 0);
    
public voidtestSetValue()
test the setValue() method

        for (int j = 0; j < 128; j++)
        {
            assertEquals(bf_multi.getValue(bf_multi.setValue(0, j)), j);
            assertEquals(bf_multi.setValue(0, j), j << 7);
        }

        // verify that excess bits are stripped off
        assertEquals(bf_multi.setValue(0x3f80, 128), 0);
        for (int j = 0; j < 2; j++)
        {
            assertEquals(bf_single.getValue(bf_single.setValue(0, j)), j);
            assertEquals(bf_single.setValue(0, j), j << 14);
        }

        // verify that excess bits are stripped off
        assertEquals(bf_single.setValue(0x4000, 2), 0);