TestDocumentBlockpublic class TestDocumentBlock extends TestCase Class to test DocumentBlock functionality |
Fields Summary |
---|
private static final byte[] | _testdata |
Constructors Summary |
---|
public TestDocumentBlock(String name)Constructor TestDocumentBlock
_testdata = new byte[ 2000 ];
for (int j = 0; j < _testdata.length; j++)
{
_testdata[ j ] = ( byte ) j;
}
super(name);
|
Methods Summary |
---|
public static void | main(java.lang.String[] ignored_args)main method to run the unit tests
System.out
.println("Testing org.apache.poi.poifs.storage.DocumentBlock");
junit.textui.TestRunner.run(TestDocumentBlock.class);
| public void | testConstructor()Test the writing DocumentBlock constructor.
ByteArrayInputStream input = new ByteArrayInputStream(_testdata);
int index = 0;
int size = 0;
while (true)
{
byte[] data = new byte[ Math.min(_testdata.length - index, 512) ];
System.arraycopy(_testdata, index, data, 0, data.length);
DocumentBlock block = new DocumentBlock(input);
verifyOutput(block, data);
size += block.size();
if (block.partiallyRead())
{
break;
}
index += 512;
}
assertEquals(_testdata.length, size);
| public void | testRead()test static read method
DocumentBlock[] blocks = new DocumentBlock[ 4 ];
ByteArrayInputStream input = new ByteArrayInputStream(_testdata);
for (int j = 0; j < 4; j++)
{
blocks[ j ] = new DocumentBlock(input);
}
for (int j = 1; j <= 2000; j += 17)
{
byte[] buffer = new byte[ j ];
int offset = 0;
for (int k = 0; k < (2000 / j); k++)
{
DocumentBlock.read(blocks, buffer, offset);
for (int n = 0; n < buffer.length; n++)
{
assertEquals("checking byte " + (k * j) + n,
_testdata[ (k * j) + n ], buffer[ n ]);
}
offset += j;
}
}
| public void | testReadingConstructor()Test 'reading' constructor
RawDataBlock input =
new RawDataBlock(new ByteArrayInputStream(_testdata));
verifyOutput(new DocumentBlock(input), input.getData());
| private void | verifyOutput(org.apache.poi.poifs.storage.DocumentBlock block, byte[] input)
assertEquals(input.length, block.size());
if (input.length < 512)
{
assertTrue(block.partiallyRead());
}
else
{
assertTrue(!block.partiallyRead());
}
ByteArrayOutputStream output = new ByteArrayOutputStream(512);
block.writeBlocks(output);
byte[] copy = output.toByteArray();
int j = 0;
for (; j < input.length; j++)
{
assertEquals(input[ j ], copy[ j ]);
}
for (; j < 512; j++)
{
assertEquals(( byte ) 0xFF, copy[ j ]);
}
|
|