From 0b24d9f62398f0490791b5f5a4e33d9d9fd2ec22 Mon Sep 17 00:00:00 2001 From: Josh Micich Date: Wed, 5 Nov 2008 06:15:59 +0000 Subject: [PATCH] Refactored test case git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@711515 13f79535-47bb-0310-9956-ffa450edef68 --- .../poi/hssf/record/TestUnicodeString.java | 59 ++++++------------- 1 file changed, 18 insertions(+), 41 deletions(-) diff --git a/src/testcases/org/apache/poi/hssf/record/TestUnicodeString.java b/src/testcases/org/apache/poi/hssf/record/TestUnicodeString.java index 8f3c65be49..bb03b67f3a 100755 --- a/src/testcases/org/apache/poi/hssf/record/TestUnicodeString.java +++ b/src/testcases/org/apache/poi/hssf/record/TestUnicodeString.java @@ -15,11 +15,8 @@ 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); -- 2.39.5