FileDocCategorySizeDatePackage
TestPAPBinTable.javaAPI DocApache Poi 3.0.12902Mon Jan 01 18:55:36 GMT 2007org.apache.poi.hwpf.model

TestPAPBinTable

public class TestPAPBinTable extends TestCase

Fields Summary
private PAPBinTable
_pAPBinTable
private HWPFDocFixture
_hWPFDocFixture
Constructors Summary
public TestPAPBinTable(String name)


    
  
    super(name);
  
Methods Summary
protected voidsetUp()

    super.setUp();
    /**@todo verify the constructors*/
    _hWPFDocFixture = new HWPFDocFixture(this);

    _hWPFDocFixture.setUp();
  
protected voidtearDown()

    _hWPFDocFixture.tearDown();

    _hWPFDocFixture = null;
    super.tearDown();
  
public voidtestReadWrite()

    FileInformationBlock fib = _hWPFDocFixture._fib;
    byte[] mainStream = _hWPFDocFixture._mainStream;
    byte[] tableStream = _hWPFDocFixture._tableStream;
    int fcMin = fib.getFcMin();

    _pAPBinTable = new PAPBinTable(mainStream, tableStream, null, fib.getFcPlcfbtePapx(), fib.getLcbPlcfbtePapx(), fcMin);

    HWPFFileSystem fileSys = new HWPFFileSystem();

    _pAPBinTable.writeTo(fileSys, 0);
    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, 0);

    ArrayList oldTextRuns = _pAPBinTable.getParagraphs();
    ArrayList newTextRuns = newBinTable.getParagraphs();

    assertEquals(oldTextRuns.size(), newTextRuns.size());

    int size = oldTextRuns.size();
    for (int x = 0; x < size; x++)
    {
     PropertyNode oldNode = (PropertyNode)oldTextRuns.get(x);
     PropertyNode newNode = (PropertyNode)newTextRuns.get(x);

     assertTrue(oldNode.equals(newNode));
    }