}
public void testReadWrite() throws Exception
{
/** @todo verify the constructors */
HWPFDocFixture _hWPFDocFixture = new HWPFDocFixture( this,
HWPFDocFixture.DEFAULT_TEST_FILE );
_hWPFDocFixture.setUp();
TextPieceTable fakeTPT = new TextPieceTable();
FileInformationBlock fib = _hWPFDocFixture._fib;
byte[] mainStream = _hWPFDocFixture._mainStream;
byte[] tableStream = _hWPFDocFixture._tableStream;
PAPBinTable _pAPBinTable = new PAPBinTable( mainStream, tableStream,
null, fib.getFcPlcfbtePapx(), fib.getLcbPlcfbtePapx(), fakeTPT );
HWPFFileSystem fileSys = new HWPFFileSystem();
_pAPBinTable.writeTo( fileSys, fakeTPT );
ByteArrayOutputStream tableOut = fileSys.getStream( "1Table" );
ByteArrayOutputStream mainOut = fileSys.getStream( "WordDocument" );
byte[] newTableStream = tableOut.toByteArray();
byte[] newMainStream = mainOut.toByteArray();
PAPBinTable newBinTable = new PAPBinTable( newMainStream,
newTableStream, null, 0, newTableStream.length, fakeTPT );
List<PAPX> oldTextRuns = _pAPBinTable.getParagraphs();
List<PAPX> newTextRuns = newBinTable.getParagraphs();
assertEquals( oldTextRuns.size(), newTextRuns.size() );
int size = oldTextRuns.size();
for ( int x = 0; x < size; x++ )
{
PAPX oldNode = oldTextRuns.get( x );
PAPX newNode = newTextRuns.get( x );
assertTrue( oldNode.equals( newNode ) );
}
_hWPFDocFixture.tearDown();
}