You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by jo...@apache.org on 2008/11/05 04:50:32 UTC

svn commit: r711505 - /poi/trunk/src/testcases/org/apache/poi/hssf/record/TestSSTRecordSizeCalculator.java

Author: josh
Date: Tue Nov  4 19:50:31 2008
New Revision: 711505

URL: http://svn.apache.org/viewvc?rev=711505&view=rev
Log:
Refactored test case

Modified:
    poi/trunk/src/testcases/org/apache/poi/hssf/record/TestSSTRecordSizeCalculator.java

Modified: poi/trunk/src/testcases/org/apache/poi/hssf/record/TestSSTRecordSizeCalculator.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/hssf/record/TestSSTRecordSizeCalculator.java?rev=711505&r1=711504&r2=711505&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/hssf/record/TestSSTRecordSizeCalculator.java (original)
+++ poi/trunk/src/testcases/org/apache/poi/hssf/record/TestSSTRecordSizeCalculator.java Tue Nov  4 19:50:31 2008
@@ -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 @@
 
 /**
  * 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;
+	}
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org