]> source.dussan.org Git - poi.git/commitdiff
Refactored test case
authorJosh Micich <josh@apache.org>
Wed, 5 Nov 2008 03:50:31 +0000 (03:50 +0000)
committerJosh Micich <josh@apache.org>
Wed, 5 Nov 2008 03:50:31 +0000 (03:50 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@711505 13f79535-47bb-0310-9956-ffa450edef68

src/testcases/org/apache/poi/hssf/record/TestSSTRecordSizeCalculator.java

index 83aaf658f0f7c8e0c451a8a401f068f6f9663f52..d35f2009dc9cecb1a7e2fe74342c24a474e4476d 100644 (file)
@@ -1,4 +1,3 @@
-
 /* ====================================================================
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
@@ -15,7 +14,6 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 ==================================================================== */
-        
 
 package org.apache.poi.hssf.record;
 
@@ -25,123 +23,94 @@ import org.apache.poi.util.IntMapper;
 
 /**
  * Tests that records size calculates correctly.
- *
+ * 
  * @author Glen Stampoultzis (glens at apache.org)
  */
-public class TestSSTRecordSizeCalculator
-        extends TestCase
-{
-    private static final String SMALL_STRING = "Small string";
-    private static final int COMPRESSED_PLAIN_STRING_OVERHEAD = 3;
-//    private List recordLengths;
-    private IntMapper strings;
-    private static final int OPTION_FIELD_SIZE = 1;
-
-    public TestSSTRecordSizeCalculator( String s )
-    {
-        super( s );
-    }
-
-    public void testBasic()
-            throws Exception
-    {
-        strings.add(makeUnicodeString(SMALL_STRING));
-        SSTRecordSizeCalculator calculator = new SSTRecordSizeCalculator(strings);
-        assertEquals(SSTRecord.SST_RECORD_OVERHEAD + COMPRESSED_PLAIN_STRING_OVERHEAD + SMALL_STRING.length(),
-                calculator.getRecordSize());
-    }
-
-    public void testBigStringAcrossUnicode()
-            throws Exception
-    {
-        String bigString = new String(new char[SSTRecord.MAX_DATA_SPACE + 100]);
-        strings.add(makeUnicodeString(bigString));
-        SSTRecordSizeCalculator calculator = new SSTRecordSizeCalculator(strings);
-        assertEquals(SSTRecord.SST_RECORD_OVERHEAD
-                + COMPRESSED_PLAIN_STRING_OVERHEAD
-                + SSTRecord.MAX_DATA_SPACE
-                + SSTRecord.STD_RECORD_OVERHEAD
-                + OPTION_FIELD_SIZE
-                + 100,
-                calculator.getRecordSize());
-    }
-
-    public void testPerfectFit()
-            throws Exception
-    {
-        String perfectFit = new String(new char[SSTRecord.MAX_DATA_SPACE - COMPRESSED_PLAIN_STRING_OVERHEAD]);
-        strings.add(makeUnicodeString(perfectFit));
-        SSTRecordSizeCalculator calculator = new SSTRecordSizeCalculator(strings);
-        assertEquals(SSTRecord.SST_RECORD_OVERHEAD
-                + COMPRESSED_PLAIN_STRING_OVERHEAD
-                + perfectFit.length(),
-                calculator.getRecordSize());
-    }
-
-    public void testJustOversized()
-            throws Exception
-    {
-        String tooBig = new String(new char[SSTRecord.MAX_DATA_SPACE - COMPRESSED_PLAIN_STRING_OVERHEAD + 1]);
-        strings.add(makeUnicodeString(tooBig));
-        SSTRecordSizeCalculator calculator = new SSTRecordSizeCalculator(strings);
-        assertEquals(SSTRecord.SST_RECORD_OVERHEAD
-                + COMPRESSED_PLAIN_STRING_OVERHEAD
-                + tooBig.length() - 1
-                // continue record
-                + SSTRecord.STD_RECORD_OVERHEAD
-                + OPTION_FIELD_SIZE
-                + 1,
-                calculator.getRecordSize());
-
-    }
-
-    public void testSecondStringStartsOnNewContinuation()
-            throws Exception
-    {
-        String perfectFit = new String(new char[SSTRecord.MAX_DATA_SPACE - COMPRESSED_PLAIN_STRING_OVERHEAD]);
-        strings.add(makeUnicodeString(perfectFit));
-        strings.add(makeUnicodeString(SMALL_STRING));
-        SSTRecordSizeCalculator calculator = new SSTRecordSizeCalculator(strings);
-        assertEquals(SSTRecord.SST_RECORD_OVERHEAD
-                + SSTRecord.MAX_DATA_SPACE
-                // second string
-                + SSTRecord.STD_RECORD_OVERHEAD
-                + COMPRESSED_PLAIN_STRING_OVERHEAD
-                + SMALL_STRING.length(),
-                calculator.getRecordSize());
-    }
-
-    public void testHeaderCrossesNormalContinuePoint()
-            throws Exception
-    {
-        String almostPerfectFit = new String(new char[SSTRecord.MAX_DATA_SPACE - COMPRESSED_PLAIN_STRING_OVERHEAD - 2]);
-        strings.add(makeUnicodeString(almostPerfectFit));
-        String oneCharString = new String(new char[1]);
-        strings.add(makeUnicodeString(oneCharString));
-        SSTRecordSizeCalculator calculator = new SSTRecordSizeCalculator(strings);
-        assertEquals(SSTRecord.SST_RECORD_OVERHEAD
-                + COMPRESSED_PLAIN_STRING_OVERHEAD
-                + almostPerfectFit.length()
-                // second string
-                + SSTRecord.STD_RECORD_OVERHEAD
-                + COMPRESSED_PLAIN_STRING_OVERHEAD
-                + oneCharString.length(),
-                calculator.getRecordSize());
-
-    }
-
-
-    public void setUp()
-    {
-        strings = new IntMapper();
-    }
-
-
-    private UnicodeString makeUnicodeString( String s )
-    {
-      UnicodeString st = new UnicodeString(s);
-      st.setOptionFlags((byte)0);
-      return st;
-    }
-
+public final class TestSSTRecordSizeCalculator extends TestCase {
+       private static final String SMALL_STRING = "Small string";
+       private static final int COMPRESSED_PLAIN_STRING_OVERHEAD = 3;
+       private static final int OPTION_FIELD_SIZE = 1;
+       
+       private final IntMapper strings = new IntMapper();
+
+       
+       private void confirmSize(int expectedSize) {
+               SSTRecordSizeCalculator calculator = new SSTRecordSizeCalculator(strings);
+               assertEquals(expectedSize, calculator.getRecordSize());
+       }
+
+       public void testBasic() {
+               strings.add(makeUnicodeString(SMALL_STRING));
+               confirmSize(SSTRecord.SST_RECORD_OVERHEAD
+                               + COMPRESSED_PLAIN_STRING_OVERHEAD
+                               + SMALL_STRING.length());
+       }
+
+       public void testBigStringAcrossUnicode() {
+               int bigString = SSTRecord.MAX_DATA_SPACE + 100;
+               strings.add(makeUnicodeString(bigString));
+               confirmSize(SSTRecord.SST_RECORD_OVERHEAD
+                               + COMPRESSED_PLAIN_STRING_OVERHEAD
+                               + SSTRecord.MAX_DATA_SPACE
+                               + SSTRecord.STD_RECORD_OVERHEAD
+                               + OPTION_FIELD_SIZE
+                               + 100);
+       }
+
+       public void testPerfectFit() {
+               int perfectFit = SSTRecord.MAX_DATA_SPACE - COMPRESSED_PLAIN_STRING_OVERHEAD;
+               strings.add(makeUnicodeString(perfectFit));
+               confirmSize(SSTRecord.SST_RECORD_OVERHEAD
+                               + COMPRESSED_PLAIN_STRING_OVERHEAD
+                               + perfectFit);
+       }
+
+       public void testJustOversized() {
+               int tooBig = SSTRecord.MAX_DATA_SPACE - COMPRESSED_PLAIN_STRING_OVERHEAD + 1;
+               strings.add(makeUnicodeString(tooBig));
+               confirmSize(SSTRecord.SST_RECORD_OVERHEAD
+                               + COMPRESSED_PLAIN_STRING_OVERHEAD
+                               + tooBig - 1
+                               // continue record
+                               + SSTRecord.STD_RECORD_OVERHEAD
+                               + OPTION_FIELD_SIZE + 1);
+
+       }
+
+       public void testSecondStringStartsOnNewContinuation() {
+               int perfectFit = SSTRecord.MAX_DATA_SPACE - COMPRESSED_PLAIN_STRING_OVERHEAD;
+               strings.add(makeUnicodeString(perfectFit));
+               strings.add(makeUnicodeString(SMALL_STRING));
+               confirmSize(SSTRecord.SST_RECORD_OVERHEAD
+                               + SSTRecord.MAX_DATA_SPACE
+                               // second string
+                               + SSTRecord.STD_RECORD_OVERHEAD
+                               + COMPRESSED_PLAIN_STRING_OVERHEAD
+                               + SMALL_STRING.length());
+       }
+
+       public void testHeaderCrossesNormalContinuePoint() {
+               int almostPerfectFit = SSTRecord.MAX_DATA_SPACE - COMPRESSED_PLAIN_STRING_OVERHEAD - 2;
+               strings.add(makeUnicodeString(almostPerfectFit));
+               String oneCharString = new String(new char[1]);
+               strings.add(makeUnicodeString(oneCharString));
+               confirmSize(SSTRecord.SST_RECORD_OVERHEAD
+                               + COMPRESSED_PLAIN_STRING_OVERHEAD
+                               + almostPerfectFit
+                               // second string
+                               + SSTRecord.STD_RECORD_OVERHEAD
+                               + COMPRESSED_PLAIN_STRING_OVERHEAD
+                               + oneCharString.length());
+
+       }
+       private static UnicodeString makeUnicodeString(int size) {
+               String s = new String(new char[size]);
+               return makeUnicodeString(s);
+       }
+
+       private static UnicodeString makeUnicodeString(String s) {
+               UnicodeString st = new UnicodeString(s);
+               st.setOptionFlags((byte) 0);
+               return st;
+       }
 }