test writing constructor
List documents = new ArrayList();
documents.add(
new POIFSDocument(
"doc340", new ByteArrayInputStream(new byte[ 340 ])));
documents.add(
new POIFSDocument(
"doc5000", new ByteArrayInputStream(new byte[ 5000 ])));
documents
.add(new POIFSDocument("doc0",
new ByteArrayInputStream(new byte[ 0 ])));
documents
.add(new POIFSDocument("doc1",
new ByteArrayInputStream(new byte[ 1 ])));
documents
.add(new POIFSDocument("doc2",
new ByteArrayInputStream(new byte[ 2 ])));
documents
.add(new POIFSDocument("doc3",
new ByteArrayInputStream(new byte[ 3 ])));
documents
.add(new POIFSDocument("doc4",
new ByteArrayInputStream(new byte[ 4 ])));
documents
.add(new POIFSDocument("doc5",
new ByteArrayInputStream(new byte[ 5 ])));
documents
.add(new POIFSDocument("doc6",
new ByteArrayInputStream(new byte[ 6 ])));
documents
.add(new POIFSDocument("doc7",
new ByteArrayInputStream(new byte[ 7 ])));
documents
.add(new POIFSDocument("doc8",
new ByteArrayInputStream(new byte[ 8 ])));
documents
.add(new POIFSDocument("doc9",
new ByteArrayInputStream(new byte[ 9 ])));
RootProperty root = new PropertyTable().getRoot();
SmallBlockTableWriter sbtw = new SmallBlockTableWriter(documents,
root);
BlockAllocationTableWriter bat = sbtw.getSBAT();
// 15 small blocks: 6 for doc340, 0 for doc5000 (too big), 0
// for doc0 (no storage needed), 1 each for doc1 through doc9
assertEquals(15 * 64, root.getSize());
// 15 small blocks rounds up to 2 big blocks
assertEquals(2, sbtw.countBlocks());
int start_block = 1000 + root.getStartBlock();
sbtw.setStartBlock(start_block);
assertEquals(start_block, root.getStartBlock());