You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by sa...@apache.org on 2003/07/09 03:00:55 UTC

cvs commit: jakarta-poi/src/scratchpad/testcases/org/apache/poi/hwpf/model/hdftypes TestSectionTable.java

sackley     2003/07/08 18:00:55

  Modified:    src/scratchpad/testcases/org/apache/poi/hwpf/model/hdftypes
                        TestSectionTable.java
  Log:
  latest test
  
  Revision  Changes    Path
  1.2       +96 -3     jakarta-poi/src/scratchpad/testcases/org/apache/poi/hwpf/model/hdftypes/TestSectionTable.java
  
  Index: TestSectionTable.java
  ===================================================================
  RCS file: /home/cvs/jakarta-poi/src/scratchpad/testcases/org/apache/poi/hwpf/model/hdftypes/TestSectionTable.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- TestSectionTable.java	7 Jul 2003 00:46:28 -0000	1.1
  +++ TestSectionTable.java	9 Jul 2003 01:00:55 -0000	1.2
  @@ -1,12 +1,70 @@
  +/* ====================================================================
  + * The Apache Software License, Version 1.1
  + *
  + * Copyright (c) 2003 The Apache Software Foundation.  All rights
  + * reserved.
  + *
  + * Redistribution and use in source and binary forms, with or without
  + * modification, are permitted provided that the following conditions
  + * are met:
  + *
  + * 1. Redistributions of source code must retain the above copyright
  + *    notice, this list of conditions and the following disclaimer.
  + *
  + * 2. Redistributions in binary form must reproduce the above copyright
  + *    notice, this list of conditions and the following disclaimer in
  + *    the documentation and/or other materials provided with the
  + *    distribution.
  + *
  + * 3. The end-user documentation included with the redistribution,
  + *    if any, must include the following acknowledgment:
  + *       "This product includes software developed by the
  + *        Apache Software Foundation (http://www.apache.org/)."
  + *    Alternately, this acknowledgment may appear in the software itself,
  + *    if and wherever such third-party acknowledgments normally appear.
  + *
  + * 4. The names "Apache" and "Apache Software Foundation" and
  + *    "Apache POI" must not be used to endorse or promote products
  + *    derived from this software without prior written permission. For
  + *    written permission, please contact apache@apache.org.
  + *
  + * 5. Products derived from this software may not be called "Apache",
  + *    "Apache POI", nor may "Apache" appear in their name, without
  + *    prior written permission of the Apache Software Foundation.
  + *
  + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
  + * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
  + * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
  + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
  + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
  + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
  + * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
  + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
  + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
  + * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  + * SUCH DAMAGE.
  + * ====================================================================
  + *
  + * This software consists of voluntary contributions made by many
  + * individuals on behalf of the Apache Software Foundation.  For more
  + * information on the Apache Software Foundation, please see
  + * <http://www.apache.org/>.
  + */
  +
   package org.apache.poi.hwpf.model.hdftypes;
   
   import junit.framework.*;
  +
  +import java.io.ByteArrayOutputStream;
  +import java.util.ArrayList;
  +
   import org.apache.poi.hwpf.*;
  +import org.apache.poi.hwpf.model.io.*;
   
   public class TestSectionTable
     extends TestCase
   {
  -  private SectionTable _sectionTable = null;
     private HWPFDocFixture _hWPFDocFixture;
   
     public TestSectionTable(String name)
  @@ -14,12 +72,48 @@
       super(name);
     }
   
  +  public void testReadWrite()
  +    throws Exception
  +  {
  +    FileInformationBlock fib = _hWPFDocFixture._fib;
  +    byte[] mainStream = _hWPFDocFixture._mainStream;
  +    byte[] tableStream = _hWPFDocFixture._tableStream;
  +    int fcMin = fib.getFcMin();
  +
  +    SectionTable sectionTable = new SectionTable(mainStream, tableStream,
  +                                                 fib.getFcPlcfsed(),
  +                                                 fib.getLcbPlcfsed(),
  +                                                 fcMin);
  +    HWPFFileSystem fileSys = new HWPFFileSystem();
  +
  +    sectionTable.writeTo(fileSys, 0);
  +    ByteArrayOutputStream tableOut = fileSys.getStream("1Table");
  +    ByteArrayOutputStream mainOut =  fileSys.getStream("WordDocument");
  +
  +    byte[] newTableStream = tableOut.toByteArray();
  +    byte[] newMainStream = mainOut.toByteArray();
  +
  +    SectionTable newSectionTable = new SectionTable(newMainStream, newTableStream, 0, newTableStream.length, 0);
  +
  +    ArrayList oldSections = sectionTable.getSections();
  +    ArrayList newSections = newSectionTable.getSections();
  +
  +    assertEquals(oldSections.size(), newSections.size());
  +
  +    int size = oldSections.size();
  +    for (int x = 0; x < size; x++)
  +    {
  +      PropertyNode oldNode = (PropertyNode)oldSections.get(x);
  +      PropertyNode newNode = (PropertyNode)newSections.get(x);
  +      assertEquals(oldNode, newNode);
  +    }
  +  }
  +
     protected void setUp()
       throws Exception
     {
       super.setUp();
       /**@todo verify the constructors*/
  -    _sectionTable = new SectionTable(null, null, 0, 0, 0);
       _hWPFDocFixture = new HWPFDocFixture(this);
   
       _hWPFDocFixture.setUp();
  @@ -28,7 +122,6 @@
     protected void tearDown()
       throws Exception
     {
  -    _sectionTable = null;
       _hWPFDocFixture.tearDown();
   
       _hWPFDocFixture = null;