From 2e6682588f6d6c10b5c5c7cc76defddd0bf60f59 Mon Sep 17 00:00:00 2001 From: Said Ryan Ackley Date: Sun, 29 Jun 2003 14:18:22 +0000 Subject: [PATCH] nother test case git-svn-id: https://svn.apache.org/repos/asf/jakarta/poi/trunk@353177 13f79535-47bb-0310-9956-ffa450edef68 --- .../hwpf/model/hdftypes/TestPAPBinTable.java | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 src/scratchpad/testcases/org/apache/poi/hwpf/model/hdftypes/TestPAPBinTable.java diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/model/hdftypes/TestPAPBinTable.java b/src/scratchpad/testcases/org/apache/poi/hwpf/model/hdftypes/TestPAPBinTable.java new file mode 100644 index 0000000000..2e78822e31 --- /dev/null +++ b/src/scratchpad/testcases/org/apache/poi/hwpf/model/hdftypes/TestPAPBinTable.java @@ -0,0 +1,80 @@ +package org.apache.poi.hwpf.model.hdftypes; + +import junit.framework.*; +import org.apache.poi.hwpf.*; +import org.apache.poi.hwpf.model.io.*; + +import java.io.*; +import java.util.*; + +public class TestPAPBinTable + extends TestCase +{ + private PAPBinTable _pAPBinTable = null; + private HWPFDocFixture _hWPFDocFixture; + + public TestPAPBinTable(String name) + { + super(name); + } + + public void testReadWrite() + throws Exception + { + FileInformationBlock fib = _hWPFDocFixture._fib; + byte[] mainStream = _hWPFDocFixture._mainStream; + byte[] tableStream = _hWPFDocFixture._tableStream; + int fcMin = fib.getFcMin(); + + _pAPBinTable = new PAPBinTable(mainStream, tableStream, 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, 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)); + } + + + + + } + + protected void setUp() + throws Exception + { + super.setUp(); + /**@todo verify the constructors*/ + _hWPFDocFixture = new HWPFDocFixture(this); + + _hWPFDocFixture.setUp(); + } + + protected void tearDown() + throws Exception + { + _hWPFDocFixture.tearDown(); + + _hWPFDocFixture = null; + super.tearDown(); + } + +}