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

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

index 8f3c65be49b605e99ad64d149951b19060132379..bb03b67f3aa6f35d766a1f8a3d82e2f1c31f60a6 100755 (executable)
    limitations under the License.
 ==================================================================== */
 
-
 package org.apache.poi.hssf.record;
 
-import org.apache.poi.util.HexRead;
-
 import junit.framework.TestCase;
 
 /**
@@ -30,18 +27,20 @@ import junit.framework.TestCase;
 public final class TestUnicodeString extends TestCase {
 
 
+    private static void confirmSize(int expectedSize, UnicodeString s) {
+        UnicodeString.UnicodeRecordStats stats = new UnicodeString.UnicodeRecordStats();
+        s.getRecordSize(stats);
+        assertEquals(expectedSize, stats.recordSize);
+    }
+
     public void testSmallStringSize() {
         //Test a basic string
         UnicodeString s = makeUnicodeString("Test");
-        UnicodeString.UnicodeRecordStats stats = new UnicodeString.UnicodeRecordStats();
-        s.getRecordSize(stats);
-        assertEquals(7, stats.recordSize);
+        confirmSize(7, s);
 
         //Test a small string that is uncompressed
         s.setOptionFlags((byte)0x01);
-        stats = new UnicodeString.UnicodeRecordStats();
-        s.getRecordSize(stats);
-        assertEquals(11, stats.recordSize);
+        confirmSize(11, s);
 
         //Test a compressed small string that has rich text formatting
         s.setOptionFlags((byte)0x8);
@@ -49,45 +48,33 @@ public final class TestUnicodeString extends TestCase {
         s.addFormatRun(r);
         UnicodeString.FormatRun r2 = new UnicodeString.FormatRun((short)2,(short)2);
         s.addFormatRun(r2);
-        stats = new UnicodeString.UnicodeRecordStats();
-        s.getRecordSize(stats);
-        assertEquals(17, stats.recordSize);
+        confirmSize(17, s);
 
         //Test a uncompressed small string that has rich text formatting
         s.setOptionFlags((byte)0x9);
-        stats = new UnicodeString.UnicodeRecordStats();
-        s.getRecordSize(stats);
-        assertEquals(21, stats.recordSize);
+        confirmSize(21, s);
 
         //Test a compressed small string that has rich text and extended text
         s.setOptionFlags((byte)0xC);
         s.setExtendedRst(new byte[]{(byte)0x1,(byte)0x2,(byte)0x3,(byte)0x4,(byte)0x5});
-        stats = new UnicodeString.UnicodeRecordStats();
-        s.getRecordSize(stats);
-        assertEquals(26, stats.recordSize);
+        confirmSize(26, s);
 
         //Test a uncompressed small string that has rich text and extended text
         s.setOptionFlags((byte)0xD);
-        stats = new UnicodeString.UnicodeRecordStats();
-        s.getRecordSize(stats);
-        assertEquals(30, stats.recordSize);
+        confirmSize(30, s);
     }
 
     public void testPerfectStringSize() {
       //Test a basic string
       UnicodeString s = makeUnicodeString(SSTRecord.MAX_RECORD_SIZE-2-1);
-      UnicodeString.UnicodeRecordStats stats = new UnicodeString.UnicodeRecordStats();
-      s.getRecordSize(stats);
-      assertEquals(SSTRecord.MAX_RECORD_SIZE, stats.recordSize);
+      confirmSize(SSTRecord.MAX_RECORD_SIZE, s);
 
       //Test an uncompressed string
       //Note that we can only ever get to a maximim size of 8227 since an uncompressed
       //string is writing double bytes.
       s = makeUnicodeString((SSTRecord.MAX_RECORD_SIZE-2-1)/2);
       s.setOptionFlags((byte)0x1);
-      stats = new UnicodeString.UnicodeRecordStats();
-      s.getRecordSize(stats);
-      assertEquals(SSTRecord.MAX_RECORD_SIZE-1, stats.recordSize);
+      confirmSize(SSTRecord.MAX_RECORD_SIZE-1, s);
     }
 
     public void testPerfectRichStringSize() {
@@ -95,10 +82,8 @@ public final class TestUnicodeString extends TestCase {
       UnicodeString s = makeUnicodeString(SSTRecord.MAX_RECORD_SIZE-2-1-8-2);
       s.addFormatRun(new UnicodeString.FormatRun((short)1,(short)0));
       s.addFormatRun(new UnicodeString.FormatRun((short)2,(short)1));
-      UnicodeString.UnicodeRecordStats stats = new UnicodeString.UnicodeRecordStats();
       s.setOptionFlags((byte)0x8);
-      s.getRecordSize(stats);
-      assertEquals(SSTRecord.MAX_RECORD_SIZE, stats.recordSize);
+      confirmSize(SSTRecord.MAX_RECORD_SIZE, s);
 
       //Test an uncompressed rich text string
       //Note that we can only ever get to a maximim size of 8227 since an uncompressed
@@ -107,17 +92,13 @@ public final class TestUnicodeString extends TestCase {
       s.addFormatRun(new UnicodeString.FormatRun((short)1,(short)0));
       s.addFormatRun(new UnicodeString.FormatRun((short)2,(short)1));
       s.setOptionFlags((byte)0x9);
-      stats = new UnicodeString.UnicodeRecordStats();
-      s.getRecordSize(stats);
-      assertEquals(SSTRecord.MAX_RECORD_SIZE-1, stats.recordSize);
+      confirmSize(SSTRecord.MAX_RECORD_SIZE-1, s);
     }
 
     public void testContinuedStringSize() {
       //Test a basic string
       UnicodeString s = makeUnicodeString(SSTRecord.MAX_RECORD_SIZE-2-1+20);
-      UnicodeString.UnicodeRecordStats stats = new UnicodeString.UnicodeRecordStats();
-      s.getRecordSize(stats);
-      assertEquals(SSTRecord.MAX_RECORD_SIZE+4+1+20, stats.recordSize);
+      confirmSize(SSTRecord.MAX_RECORD_SIZE+4+1+20, s);
     }
 
     /** Tests that a string size calculation that fits neatly in two records, the second being a continue*/
@@ -131,14 +112,10 @@ public final class TestUnicodeString extends TestCase {
       //Continue Record additional byte overhead
       strSize -= 1;
       UnicodeString s = makeUnicodeString(strSize);
-      UnicodeString.UnicodeRecordStats stats = new UnicodeString.UnicodeRecordStats();
-      s.getRecordSize(stats);
-      assertEquals(SSTRecord.MAX_RECORD_SIZE*2, stats.recordSize);
+      confirmSize(SSTRecord.MAX_RECORD_SIZE*2, s);
     }
 
 
-
-
     private static UnicodeString makeUnicodeString( String s )
     {
       UnicodeString st = new UnicodeString(s);