diff options
author | Josh Micich <josh@apache.org> | 2008-10-10 22:59:14 +0000 |
---|---|---|
committer | Josh Micich <josh@apache.org> | 2008-10-10 22:59:14 +0000 |
commit | 25f26a82f7c607987a6b17002553624bd91c4caf (patch) | |
tree | 9b4ea84796181d4ded43cc3840904b7323bcf563 /src/testcases/org/apache/poi/hssf | |
parent | 91c8480933a42e15df91d3c2fecf7fee3deaa6c7 (diff) | |
download | poi-25f26a82f7c607987a6b17002553624bd91c4caf.tar.gz poi-25f26a82f7c607987a6b17002553624bd91c4caf.zip |
Made RecordInputStream final (major clean-up in test cases and BiffViewer)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@703596 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'src/testcases/org/apache/poi/hssf')
64 files changed, 216 insertions, 219 deletions
diff --git a/src/testcases/org/apache/poi/hssf/eventmodel/TestEventRecordFactory.java b/src/testcases/org/apache/poi/hssf/eventmodel/TestEventRecordFactory.java index 88f620ca44..8825fed700 100644 --- a/src/testcases/org/apache/poi/hssf/eventmodel/TestEventRecordFactory.java +++ b/src/testcases/org/apache/poi/hssf/eventmodel/TestEventRecordFactory.java @@ -87,10 +87,8 @@ public final class TestEventRecordFactory extends TestCase { bof.setHistoryBitMask(BOFRecord.HISTORY_MASK); byte[] bytes = bof.serialize(); - byte[] nbytes = new byte[bytes.length - 4]; - System.arraycopy(bytes,4,nbytes,0,nbytes.length); - Record[] records = RecordFactory.createRecord(new TestcaseRecordInputStream(bof.getSid(),(short)nbytes.length,nbytes)); + Record[] records = RecordFactory.createRecord(TestcaseRecordInputStream.create(bytes)); assertTrue("record.length must be 1, was ="+records.length,records.length == 1); assertTrue("record is the same", compareRec(bof,records[0])); diff --git a/src/testcases/org/apache/poi/hssf/record/TestAreaFormatRecord.java b/src/testcases/org/apache/poi/hssf/record/TestAreaFormatRecord.java index de834be95e..fb852ba88c 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestAreaFormatRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestAreaFormatRecord.java @@ -41,7 +41,7 @@ public final class TestAreaFormatRecord extends TestCase { public void testLoad() { - AreaFormatRecord record = new AreaFormatRecord(new TestcaseRecordInputStream((short)0x100a, (short)data.length, data)); + AreaFormatRecord record = new AreaFormatRecord(TestcaseRecordInputStream.create(0x100a, data)); assertEquals( 0xFFFFFF, record.getForegroundColor()); assertEquals( 0x000000, record.getBackgroundColor()); assertEquals( 1, record.getPattern()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestAreaRecord.java b/src/testcases/org/apache/poi/hssf/record/TestAreaRecord.java index 2131e73192..f514feccba 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestAreaRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestAreaRecord.java @@ -35,7 +35,7 @@ public final class TestAreaRecord extends TestCase { public void testLoad() { - AreaRecord record = new AreaRecord(new TestcaseRecordInputStream((short)0x101A, (short)data.length, data)); + AreaRecord record = new AreaRecord(TestcaseRecordInputStream.create(0x101A, data)); assertEquals( 2, record.getFormatFlags()); assertEquals( false, record.isStacked() ); assertEquals( true, record.isDisplayAsPercentage() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestAxisLineFormatRecord.java b/src/testcases/org/apache/poi/hssf/record/TestAxisLineFormatRecord.java index 2146a31cfb..4e9e29a6f7 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestAxisLineFormatRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestAxisLineFormatRecord.java @@ -34,7 +34,7 @@ public final class TestAxisLineFormatRecord extends TestCase { }; public void testLoad() { - AxisLineFormatRecord record = new AxisLineFormatRecord(new TestcaseRecordInputStream((short)0x1021, (short)data.length, data)); + AxisLineFormatRecord record = new AxisLineFormatRecord(TestcaseRecordInputStream.create(0x1021, data)); assertEquals( AxisLineFormatRecord.AXIS_TYPE_MAJOR_GRID_LINE, record.getAxisType()); assertEquals( 6, record.getRecordSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestAxisOptionsRecord.java b/src/testcases/org/apache/poi/hssf/record/TestAxisOptionsRecord.java index 4d88e18a69..de51b48b0d 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestAxisOptionsRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestAxisOptionsRecord.java @@ -37,7 +37,7 @@ public final class TestAxisOptionsRecord extends TestCase { }; public void testLoad() { - AxisOptionsRecord record = new AxisOptionsRecord(new TestcaseRecordInputStream((short)0x1062, (short)data.length, data)); + AxisOptionsRecord record = new AxisOptionsRecord(TestcaseRecordInputStream.create(0x1062, data)); assertEquals( 0, record.getMinimumCategory()); assertEquals( 0, record.getMaximumCategory()); assertEquals( 1, record.getMajorUnitValue()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestAxisParentRecord.java b/src/testcases/org/apache/poi/hssf/record/TestAxisParentRecord.java index a9787a2e8b..406b68fd60 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestAxisParentRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestAxisParentRecord.java @@ -37,7 +37,7 @@ public final class TestAxisParentRecord extends TestCase { }; public void testLoad() { - AxisParentRecord record = new AxisParentRecord(new TestcaseRecordInputStream((short)0x1041, (short)data.length, data)); + AxisParentRecord record = new AxisParentRecord(TestcaseRecordInputStream.create(0x1041, data)); assertEquals( AxisParentRecord.AXIS_TYPE_MAIN, record.getAxisType()); assertEquals( 0x021d, record.getX()); assertEquals( 0xdd, record.getY()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestAxisRecord.java b/src/testcases/org/apache/poi/hssf/record/TestAxisRecord.java index 719e930d25..21e41773ce 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestAxisRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestAxisRecord.java @@ -39,7 +39,7 @@ public final class TestAxisRecord extends TestCase { public void testLoad() { - AxisRecord record = new AxisRecord(new TestcaseRecordInputStream((short)0x101d, (short)data.length, data)); + AxisRecord record = new AxisRecord(TestcaseRecordInputStream.create(0x101d, data)); assertEquals( AxisRecord.AXIS_TYPE_CATEGORY_OR_X_AXIS, record.getAxisType()); assertEquals( 0, record.getReserved1()); assertEquals( 0, record.getReserved2()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestAxisUsedRecord.java b/src/testcases/org/apache/poi/hssf/record/TestAxisUsedRecord.java index 98812ddd6f..5f02d2874c 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestAxisUsedRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestAxisUsedRecord.java @@ -34,7 +34,7 @@ public final class TestAxisUsedRecord extends TestCase { }; public void testLoad() { - AxisUsedRecord record = new AxisUsedRecord(new TestcaseRecordInputStream((short)0x1046, (short)data.length, data)); + AxisUsedRecord record = new AxisUsedRecord(TestcaseRecordInputStream.create(0x1046, data)); assertEquals( 1, record.getNumAxis()); assertEquals( 6, record.getRecordSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestBarRecord.java b/src/testcases/org/apache/poi/hssf/record/TestBarRecord.java index 1da17aae92..80c729c212 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestBarRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestBarRecord.java @@ -37,7 +37,7 @@ public final class TestBarRecord extends TestCase { public void testLoad() { - BarRecord record = new BarRecord(new TestcaseRecordInputStream((short)0x1017, (short)data.length, data)); + BarRecord record = new BarRecord(TestcaseRecordInputStream.create(0x1017, data)); assertEquals( 0, record.getBarSpace()); assertEquals( 0x96, record.getCategorySpace()); assertEquals( 0, record.getFormatFlags()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestBoundSheetRecord.java b/src/testcases/org/apache/poi/hssf/record/TestBoundSheetRecord.java index f973da37db..766e396473 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestBoundSheetRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestBoundSheetRecord.java @@ -69,7 +69,7 @@ public final class TestBoundSheetRecord extends TestCase { // </str> }; - RecordInputStream in = new TestcaseRecordInputStream(BoundSheetRecord.sid, data); + RecordInputStream in = TestcaseRecordInputStream.create(BoundSheetRecord.sid, data); BoundSheetRecord bsr = new BoundSheetRecord(in); // sheet name is unicode Russian for 'minor page' assertEquals("\u0421\u0442\u0440\u0430\u043D\u0438\u0447\u043A\u0430", bsr.getSheetname()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestCFHeaderRecord.java b/src/testcases/org/apache/poi/hssf/record/TestCFHeaderRecord.java index fd3dd81d0c..15abe2168e 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestCFHeaderRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestCFHeaderRecord.java @@ -90,7 +90,7 @@ public final class TestCFHeaderRecord extends TestCase (byte)0x03, (byte)0x00, }; - CFHeaderRecord record = new CFHeaderRecord(new TestcaseRecordInputStream(CFHeaderRecord.sid, (short)recordData.length, recordData)); + CFHeaderRecord record = new CFHeaderRecord(TestcaseRecordInputStream.create(CFHeaderRecord.sid, recordData)); assertEquals("#CFRULES", 3, record.getNumberOfConditionalFormats()); assertTrue(record.getNeedRecalculation()); @@ -143,7 +143,7 @@ public final class TestCFHeaderRecord extends TestCase CFHeaderRecord record; try { - record = new CFHeaderRecord(new TestcaseRecordInputStream(CFHeaderRecord.sid, (short)recordData.length, recordData)); + record = new CFHeaderRecord(TestcaseRecordInputStream.create(CFHeaderRecord.sid, recordData)); } catch (IllegalArgumentException e) { if(e.getMessage().equals("invalid cell range (-25536, 2, -15536, 2)")) { throw new AssertionFailedError("Identified bug 44739b"); diff --git a/src/testcases/org/apache/poi/hssf/record/TestCFRuleRecord.java b/src/testcases/org/apache/poi/hssf/record/TestCFRuleRecord.java index 1eb052bec7..80de959809 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestCFRuleRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestCFRuleRecord.java @@ -54,7 +54,7 @@ public final class TestCFRuleRecord extends TestCase System.arraycopy(serializedRecord, 4, recordData, 0, recordData.length); // Deserialize - record = new CFRuleRecord(new TestcaseRecordInputStream(CFRuleRecord.sid, (short)recordData.length, recordData)); + record = new CFRuleRecord(TestcaseRecordInputStream.create(CFRuleRecord.sid, recordData)); // Serialize again byte[] output = record.serialize(); @@ -317,7 +317,7 @@ public final class TestCFRuleRecord extends TestCase */ public void testReserializeRefNTokens() { - RecordInputStream is = new TestcaseRecordInputStream(CFRuleRecord.sid, DATA_REFN); + RecordInputStream is = TestcaseRecordInputStream.create(CFRuleRecord.sid, DATA_REFN); CFRuleRecord rr = new CFRuleRecord(is); Ptg[] ptgs = rr.getParsedExpression1(); assertEquals(3, ptgs.length); diff --git a/src/testcases/org/apache/poi/hssf/record/TestCategorySeriesAxisRecord.java b/src/testcases/org/apache/poi/hssf/record/TestCategorySeriesAxisRecord.java index 415b302e87..080918aa05 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestCategorySeriesAxisRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestCategorySeriesAxisRecord.java @@ -38,7 +38,7 @@ public final class TestCategorySeriesAxisRecord extends TestCase { public void testLoad() { - CategorySeriesAxisRecord record = new CategorySeriesAxisRecord(new TestcaseRecordInputStream((short)0x1020, (short)data.length, data)); + CategorySeriesAxisRecord record = new CategorySeriesAxisRecord(TestcaseRecordInputStream.create(0x1020, data)); assertEquals( 1, record.getCrossingPoint()); assertEquals( 1, record.getLabelFrequency()); assertEquals( 1, record.getTickMarkFrequency()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestChartRecord.java b/src/testcases/org/apache/poi/hssf/record/TestChartRecord.java index 996fb1102b..994b15b32c 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestChartRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestChartRecord.java @@ -38,7 +38,7 @@ public final class TestChartRecord extends TestCase { public void testLoad() { - ChartRecord record = new ChartRecord(new TestcaseRecordInputStream((short)0x1002, (short)data.length, data)); + ChartRecord record = new ChartRecord(TestcaseRecordInputStream.create(0x1002, data)); assertEquals( 0, record.getX()); assertEquals( 0, record.getY()); assertEquals( 30474216, record.getWidth()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestCommonObjectDataSubRecord.java b/src/testcases/org/apache/poi/hssf/record/TestCommonObjectDataSubRecord.java index e68b5026d8..ad629c3f17 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestCommonObjectDataSubRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestCommonObjectDataSubRecord.java @@ -38,7 +38,7 @@ public final class TestCommonObjectDataSubRecord extends TestCase { }; public void testLoad() { - CommonObjectDataSubRecord record = new CommonObjectDataSubRecord(new TestcaseRecordInputStream((short)0x15, (short)data.length, data)); + CommonObjectDataSubRecord record = new CommonObjectDataSubRecord(TestcaseRecordInputStream.create(0x15, data)); assertEquals( CommonObjectDataSubRecord.OBJECT_TYPE_LIST_BOX, record.getObjectType()); assertEquals( (short)1, record.getObjectId()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestDatRecord.java b/src/testcases/org/apache/poi/hssf/record/TestDatRecord.java index 8efbe70ecb..408d80e568 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestDatRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestDatRecord.java @@ -35,7 +35,7 @@ public final class TestDatRecord extends TestCase { public void testLoad() { - DatRecord record = new DatRecord(new TestcaseRecordInputStream((short)0x1063, (short)data.length, data)); + DatRecord record = new DatRecord(TestcaseRecordInputStream.create(0x1063, data)); assertEquals( 0xD, record.getOptions()); assertEquals( true, record.isHorizontalBorder() ); assertEquals( false, record.isVerticalBorder() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestDataFormatRecord.java b/src/testcases/org/apache/poi/hssf/record/TestDataFormatRecord.java index 8de2f24dac..953f13ec08 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestDataFormatRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestDataFormatRecord.java @@ -38,7 +38,7 @@ public final class TestDataFormatRecord extends TestCase { public void testLoad() { - DataFormatRecord record = new DataFormatRecord(new TestcaseRecordInputStream((short)0x1006, (short)data.length, data)); + DataFormatRecord record = new DataFormatRecord(TestcaseRecordInputStream.create(0x1006, data)); assertEquals( (short)0xFFFF, record.getPointNumber()); assertEquals( 0, record.getSeriesIndex()); assertEquals( 0, record.getSeriesNumber()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestDefaultDataLabelTextPropertiesRecord.java b/src/testcases/org/apache/poi/hssf/record/TestDefaultDataLabelTextPropertiesRecord.java index f96dca90bf..8557359e8a 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestDefaultDataLabelTextPropertiesRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestDefaultDataLabelTextPropertiesRecord.java @@ -35,7 +35,7 @@ public final class TestDefaultDataLabelTextPropertiesRecord extends TestCase { public void testLoad() { - DefaultDataLabelTextPropertiesRecord record = new DefaultDataLabelTextPropertiesRecord(new TestcaseRecordInputStream((short)0x1024, (short)data.length, data)); + DefaultDataLabelTextPropertiesRecord record = new DefaultDataLabelTextPropertiesRecord(TestcaseRecordInputStream.create(0x1024, data)); assertEquals( 2, record.getCategoryDataType()); assertEquals( 6, record.getRecordSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestEmbeddedObjectRefSubRecord.java b/src/testcases/org/apache/poi/hssf/record/TestEmbeddedObjectRefSubRecord.java index e09f9e34ab..bf8da6fece 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestEmbeddedObjectRefSubRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestEmbeddedObjectRefSubRecord.java @@ -127,7 +127,7 @@ public final class TestEmbeddedObjectRefSubRecord extends TestCase { }
private static void confirmRead(byte[] data, int i) {
- RecordInputStream in = new TestcaseRecordInputStream(EmbeddedObjectRefSubRecord.sid, (short)data.length, data);
+ RecordInputStream in = TestcaseRecordInputStream.create(EmbeddedObjectRefSubRecord.sid, data);
EmbeddedObjectRefSubRecord rec = new EmbeddedObjectRefSubRecord(in);
byte[] ser2 = rec.serialize();
diff --git a/src/testcases/org/apache/poi/hssf/record/TestEndSubRecord.java b/src/testcases/org/apache/poi/hssf/record/TestEndSubRecord.java index d809392420..d16c227149 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestEndSubRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestEndSubRecord.java @@ -33,7 +33,7 @@ public final class TestEndSubRecord extends TestCase { }; public void testLoad() { - EndSubRecord record = new EndSubRecord(new TestcaseRecordInputStream((short)0x00, (short)data.length, data)); + EndSubRecord record = new EndSubRecord(TestcaseRecordInputStream.create(0x00, data)); assertEquals( 4, record.getRecordSize() ); } diff --git a/src/testcases/org/apache/poi/hssf/record/TestExtendedFormatRecord.java b/src/testcases/org/apache/poi/hssf/record/TestExtendedFormatRecord.java index 3faa69ed6a..00d5c8c111 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestExtendedFormatRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestExtendedFormatRecord.java @@ -37,7 +37,7 @@ public final class TestExtendedFormatRecord extends TestCase { }; public void testLoad() { - ExtendedFormatRecord record = new ExtendedFormatRecord(new TestcaseRecordInputStream((short)0xe0, (short)data.length, data)); + ExtendedFormatRecord record = new ExtendedFormatRecord(TestcaseRecordInputStream.create(0xe0, data)); assertEquals(0, record.getFontIndex()); assertEquals(0, record.getFormatIndex()); assertEquals(0xF5-256, record.getCellOptions()); @@ -117,7 +117,7 @@ public final class TestExtendedFormatRecord extends TestCase { } public void testCloneOnto() throws Exception { - ExtendedFormatRecord base = new ExtendedFormatRecord(new TestcaseRecordInputStream((short)0xe0, (short)data.length, data)); + ExtendedFormatRecord base = new ExtendedFormatRecord(TestcaseRecordInputStream.create(0xe0, data)); ExtendedFormatRecord other = new ExtendedFormatRecord(); other.cloneStyleFrom(base); diff --git a/src/testcases/org/apache/poi/hssf/record/TestExternalNameRecord.java b/src/testcases/org/apache/poi/hssf/record/TestExternalNameRecord.java index e55876e6f6..54c1f35b3b 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestExternalNameRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestExternalNameRecord.java @@ -43,7 +43,7 @@ public final class TestExternalNameRecord extends TestCase { };
private static ExternalNameRecord createSimpleENR(byte[] data) {
- return new ExternalNameRecord(new TestcaseRecordInputStream((short)0x0023, data));
+ return new ExternalNameRecord(TestcaseRecordInputStream.create(0x0023, data));
}
public void testBasicDeserializeReserialize() {
diff --git a/src/testcases/org/apache/poi/hssf/record/TestFontBasisRecord.java b/src/testcases/org/apache/poi/hssf/record/TestFontBasisRecord.java index acd5a361ad..65c19f0916 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestFontBasisRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestFontBasisRecord.java @@ -39,7 +39,7 @@ public final class TestFontBasisRecord extends TestCase { public void testLoad() { - FontBasisRecord record = new FontBasisRecord(new TestcaseRecordInputStream((short)0x1060, (short)data.length, data)); + FontBasisRecord record = new FontBasisRecord(TestcaseRecordInputStream.create(0x1060, data)); assertEquals( 0x1a28, record.getXBasis()); assertEquals( 0x0f9c, record.getYBasis()); assertEquals( 0xc8, record.getHeightBasis()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestFontIndexRecord.java b/src/testcases/org/apache/poi/hssf/record/TestFontIndexRecord.java index 49cfe4d650..c962e0daee 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestFontIndexRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestFontIndexRecord.java @@ -35,7 +35,7 @@ public final class TestFontIndexRecord extends TestCase { public void testLoad() { - FontIndexRecord record = new FontIndexRecord(new TestcaseRecordInputStream((short)0x1026, (short)data.length, data)); + FontIndexRecord record = new FontIndexRecord(TestcaseRecordInputStream.create(0x1026, data)); assertEquals( 5, record.getFontIndex()); assertEquals( 6, record.getRecordSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestFontRecord.java b/src/testcases/org/apache/poi/hssf/record/TestFontRecord.java index 19449c2f56..5a8855b66e 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestFontRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestFontRecord.java @@ -44,7 +44,7 @@ public final class TestFontRecord extends TestCase { public void testLoad() { - FontRecord record = new FontRecord(new TestcaseRecordInputStream((short)0x31, (short)data.length, data)); + FontRecord record = new FontRecord(TestcaseRecordInputStream.create(0x31, data)); assertEquals( 0xc8, record.getFontHeight()); assertEquals( 0x00, record.getAttributes()); assertFalse( record.isItalic()); @@ -100,7 +100,7 @@ public final class TestFontRecord extends TestCase { } public void testCloneOnto() throws Exception { - FontRecord base = new FontRecord(new TestcaseRecordInputStream((short)0x31, (short)data.length, data)); + FontRecord base = new FontRecord(TestcaseRecordInputStream.create(0x31, data)); FontRecord other = new FontRecord(); other.cloneStyleFrom(base); @@ -112,8 +112,8 @@ public final class TestFontRecord extends TestCase { } public void testSameProperties() throws Exception { - FontRecord f1 = new FontRecord(new TestcaseRecordInputStream((short)0x31, (short)data.length, data)); - FontRecord f2 = new FontRecord(new TestcaseRecordInputStream((short)0x31, (short)data.length, data)); + FontRecord f1 = new FontRecord(TestcaseRecordInputStream.create(0x31, data)); + FontRecord f2 = new FontRecord(TestcaseRecordInputStream.create(0x31, data)); assertTrue(f1.sameProperties(f2)); diff --git a/src/testcases/org/apache/poi/hssf/record/TestFormulaRecord.java b/src/testcases/org/apache/poi/hssf/record/TestFormulaRecord.java index 4696539f23..703664443c 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestFormulaRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestFormulaRecord.java @@ -82,7 +82,7 @@ public final class TestFormulaRecord extends TestCase { }; - FormulaRecord record = new FormulaRecord(new TestcaseRecordInputStream(FormulaRecord.sid, (short)29, formulaByte)); + FormulaRecord record = new FormulaRecord(TestcaseRecordInputStream.create(FormulaRecord.sid, formulaByte)); assertEquals("Row", 0, record.getRow()); assertEquals("Column", 0, record.getColumn()); assertEquals(HSSFCell.CELL_TYPE_ERROR, record.getCachedResultType()); @@ -108,7 +108,7 @@ public final class TestFormulaRecord extends TestCase { formulaByte[19]=(byte)0xFD; formulaByte[20]=(byte)0x05; formulaByte[22]=(byte)0x01; - FormulaRecord record = new FormulaRecord(new TestcaseRecordInputStream(FormulaRecord.sid, (short)27, formulaByte)); + FormulaRecord record = new FormulaRecord(TestcaseRecordInputStream.create(FormulaRecord.sid, formulaByte)); assertEquals("Row", 0, record.getRow()); assertEquals("Column", 0, record.getColumn()); byte[] output = record.serialize(); diff --git a/src/testcases/org/apache/poi/hssf/record/TestFrameRecord.java b/src/testcases/org/apache/poi/hssf/record/TestFrameRecord.java index f35a04b488..23f1593efb 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestFrameRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestFrameRecord.java @@ -36,7 +36,7 @@ public final class TestFrameRecord extends TestCase { public void testLoad() { - FrameRecord record = new FrameRecord(new TestcaseRecordInputStream((short)0x1032, (short)data.length, data)); + FrameRecord record = new FrameRecord(TestcaseRecordInputStream.create(0x1032, data)); assertEquals( FrameRecord.BORDER_TYPE_REGULAR, record.getBorderType()); assertEquals( 2, record.getOptions()); assertEquals( false, record.isAutoSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestHyperlinkRecord.java b/src/testcases/org/apache/poi/hssf/record/TestHyperlinkRecord.java index 3d2ca406ce..1919a4b038 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestHyperlinkRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestHyperlinkRecord.java @@ -17,7 +17,6 @@ package org.apache.poi.hssf.record; import java.io.ByteArrayInputStream; -import java.net.URL; import java.util.Arrays; import junit.framework.TestCase; @@ -28,7 +27,7 @@ import junit.framework.TestCase; * @author Nick Burch * @author Yegor Kozlov */ -public class TestHyperlinkRecord extends TestCase { +public final class TestHyperlinkRecord extends TestCase { //link to http://www.lakings.com/ byte[] data1 = { 0x02, 0x00, //First row of the hyperlink @@ -165,7 +164,7 @@ public class TestHyperlinkRecord extends TestCase { 0x00, 0x41, 0x00, 0x31, 0x00, 0x00, 0x00}; public void testReadURLLink(){ - RecordInputStream is = new TestcaseRecordInputStream((short)HyperlinkRecord.sid, (short)data1.length, data1); + RecordInputStream is = TestcaseRecordInputStream.create(HyperlinkRecord.sid, data1); HyperlinkRecord link = new HyperlinkRecord(is); assertEquals(2, link.getFirstRow()); assertEquals(2, link.getLastRow()); @@ -184,7 +183,7 @@ public class TestHyperlinkRecord extends TestCase { } public void testReadFileLink(){ - RecordInputStream is = new TestcaseRecordInputStream((short)HyperlinkRecord.sid, (short)data2.length, data2); + RecordInputStream is = TestcaseRecordInputStream.create(HyperlinkRecord.sid, data2); HyperlinkRecord link = new HyperlinkRecord(is); assertEquals(0, link.getFirstRow()); assertEquals(0, link.getLastRow()); @@ -202,7 +201,7 @@ public class TestHyperlinkRecord extends TestCase { } public void testReadEmailLink(){ - RecordInputStream is = new TestcaseRecordInputStream((short)HyperlinkRecord.sid, (short)data3.length, data3); + RecordInputStream is = TestcaseRecordInputStream.create(HyperlinkRecord.sid, data3); HyperlinkRecord link = new HyperlinkRecord(is); assertEquals(1, link.getFirstRow()); assertEquals(1, link.getLastRow()); @@ -220,7 +219,7 @@ public class TestHyperlinkRecord extends TestCase { } public void testReadDocumentLink(){ - RecordInputStream is = new TestcaseRecordInputStream((short)HyperlinkRecord.sid, (short)data4.length, data4); + RecordInputStream is = TestcaseRecordInputStream.create(HyperlinkRecord.sid, data4); HyperlinkRecord link = new HyperlinkRecord(is); assertEquals(3, link.getFirstRow()); assertEquals(3, link.getLastRow()); @@ -237,7 +236,7 @@ public class TestHyperlinkRecord extends TestCase { } private void serialize(byte[] data){ - RecordInputStream is = new TestcaseRecordInputStream((short)HyperlinkRecord.sid, (short)data.length, data); + RecordInputStream is = TestcaseRecordInputStream.create(HyperlinkRecord.sid, data); HyperlinkRecord link = new HyperlinkRecord(is); byte[] bytes1 = link.serialize(); is = new RecordInputStream(new ByteArrayInputStream(bytes1)); @@ -318,7 +317,7 @@ public class TestHyperlinkRecord extends TestCase { public void testClone() throws Exception { byte[][] data = {data1, data2, data3, data4}; for (int i = 0; i < data.length; i++) { - RecordInputStream is = new TestcaseRecordInputStream((short)HyperlinkRecord.sid, (short)data[i].length, data[i]); + RecordInputStream is = TestcaseRecordInputStream.create(HyperlinkRecord.sid, data[i]); HyperlinkRecord link = new HyperlinkRecord(is); HyperlinkRecord clone = (HyperlinkRecord)link.clone(); assertTrue(Arrays.equals(link.serialize(), clone.serialize())); diff --git a/src/testcases/org/apache/poi/hssf/record/TestLegendRecord.java b/src/testcases/org/apache/poi/hssf/record/TestLegendRecord.java index aaee94fe82..6bae58f2a4 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestLegendRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestLegendRecord.java @@ -17,80 +17,73 @@ package org.apache.poi.hssf.record; - import junit.framework.TestCase; /** - * Tests the serialization and deserialization of the LegendRecord - * class works correctly. Test data taken directly from a real - * Excel file. - * - + * Tests the serialization and deserialization of the LegendRecord class works + * correctly. Test data taken directly from a real Excel file. + * + * * @author Andrew C. Oliver (acoliver at apache.org) */ -public class TestLegendRecord extends TestCase { - byte[] data = new byte[] { - (byte)0x76,(byte)0x0E,(byte)0x00,(byte)0x00,(byte)0x86,(byte)0x07,(byte)0x00,(byte)0x00,(byte)0x19,(byte)0x01,(byte)0x00,(byte)0x00,(byte)0x8B,(byte)0x00,(byte)0x00,(byte)0x00,(byte)0x03,(byte)0x01,(byte)0x1F,(byte)0x00 - }; - - public void testLoad() { - LegendRecord record = new LegendRecord(new TestcaseRecordInputStream((short)0x1015, (short)data.length, data)); - - - assertEquals( (int)0xe76, record.getXAxisUpperLeft()); - - assertEquals( (int)0x786, record.getYAxisUpperLeft()); - - assertEquals( (int)0x119, record.getXSize()); +public final class TestLegendRecord extends TestCase { + byte[] data = new byte[] { (byte) 0x76, (byte) 0x0E, (byte) 0x00, (byte) 0x00, (byte) 0x86, + (byte) 0x07, (byte) 0x00, (byte) 0x00, (byte) 0x19, (byte) 0x01, (byte) 0x00, + (byte) 0x00, (byte) 0x8B, (byte) 0x00, (byte) 0x00, (byte) 0x00, (byte) 0x03, + (byte) 0x01, (byte) 0x1F, (byte) 0x00 }; - assertEquals( (int)0x8b, record.getYSize()); + public void testLoad() { + LegendRecord record = new LegendRecord(TestcaseRecordInputStream.create(0x1015, data)); - assertEquals( (byte)0x3, record.getType()); + assertEquals(0xe76, record.getXAxisUpperLeft()); - assertEquals( (byte)0x1, record.getSpacing()); + assertEquals(0x786, record.getYAxisUpperLeft()); - assertEquals( (short)0x1f, record.getOptions()); - assertEquals( true, record.isAutoPosition() ); - assertEquals( true, record.isAutoSeries() ); - assertEquals( true, record.isAutoXPositioning() ); - assertEquals( true, record.isAutoYPositioning() ); - assertEquals( true, record.isVertical() ); - assertEquals( false, record.isDataTable() ); + assertEquals(0x119, record.getXSize()); + assertEquals(0x8b, record.getYSize()); - assertEquals( 24, record.getRecordSize() ); - } + assertEquals((byte) 0x3, record.getType()); - public void testStore() - { - LegendRecord record = new LegendRecord(); + assertEquals((byte) 0x1, record.getSpacing()); + assertEquals((short) 0x1f, record.getOptions()); + assertEquals(true, record.isAutoPosition()); + assertEquals(true, record.isAutoSeries()); + assertEquals(true, record.isAutoXPositioning()); + assertEquals(true, record.isAutoYPositioning()); + assertEquals(true, record.isVertical()); + assertEquals(false, record.isDataTable()); + assertEquals(24, record.getRecordSize()); + } - record.setXAxisUpperLeft( (int)0xe76 ); + public void testStore() { + LegendRecord record = new LegendRecord(); - record.setYAxisUpperLeft( (int)0x786 ); + record.setXAxisUpperLeft(0xe76); - record.setXSize( (int)0x119 ); + record.setYAxisUpperLeft(0x786); - record.setYSize( (int)0x8b ); + record.setXSize(0x119); - record.setType( (byte)0x3 ); + record.setYSize(0x8b); - record.setSpacing( (byte)0x1 ); + record.setType((byte) 0x3); - record.setOptions( (short)0x1f ); - record.setAutoPosition( true ); - record.setAutoSeries( true ); - record.setAutoXPositioning( true ); - record.setAutoYPositioning( true ); - record.setVertical( true ); - record.setDataTable( false ); + record.setSpacing((byte) 0x1); + record.setOptions((short) 0x1f); + record.setAutoPosition(true); + record.setAutoSeries(true); + record.setAutoXPositioning(true); + record.setAutoYPositioning(true); + record.setVertical(true); + record.setDataTable(false); - byte [] recordBytes = record.serialize(); - assertEquals(recordBytes.length - 4, data.length); - for (int i = 0; i < data.length; i++) - assertEquals("At offset " + i, data[i], recordBytes[i+4]); - } + byte[] recordBytes = record.serialize(); + assertEquals(recordBytes.length - 4, data.length); + for (int i = 0; i < data.length; i++) + assertEquals("At offset " + i, data[i], recordBytes[i + 4]); + } } diff --git a/src/testcases/org/apache/poi/hssf/record/TestLineFormatRecord.java b/src/testcases/org/apache/poi/hssf/record/TestLineFormatRecord.java index f4e833dd7c..f3b4c3d326 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestLineFormatRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestLineFormatRecord.java @@ -28,7 +28,7 @@ import junit.framework.TestCase; * @author Glen Stampoultzis (glens at apache.org) */ -public class TestLineFormatRecord extends TestCase { +public final class TestLineFormatRecord extends TestCase { byte[] data = new byte[] { (byte)0x00,(byte)0x00,(byte)0x00,(byte)0x00, // colour (byte)0x00,(byte)0x00, // pattern @@ -38,7 +38,7 @@ public class TestLineFormatRecord extends TestCase { }; public void testLoad() { - LineFormatRecord record = new LineFormatRecord(new TestcaseRecordInputStream((short)0x1007, (short)data.length, data)); + LineFormatRecord record = new LineFormatRecord(TestcaseRecordInputStream.create(0x1007, data)); assertEquals( 0, record.getLineColor()); assertEquals( 0, record.getLinePattern()); assertEquals( 0, record.getWeight()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestLinkedDataRecord.java b/src/testcases/org/apache/poi/hssf/record/TestLinkedDataRecord.java index 2527a6c5b3..adca938147 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestLinkedDataRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestLinkedDataRecord.java @@ -157,7 +157,7 @@ recordid = 0x1051, size =8 public void testLoad() { - LinkedDataRecord record = new LinkedDataRecord(new TestcaseRecordInputStream((short)0x1051, (short)data.length, data)); + LinkedDataRecord record = new LinkedDataRecord(TestcaseRecordInputStream.create(0x1051, data)); assertEquals( LinkedDataRecord.LINK_TYPE_VALUES, record.getLinkType()); assertEquals( LinkedDataRecord.REFERENCE_TYPE_WORKSHEET, record.getReferenceType()); assertEquals( 0, record.getOptions()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestNameRecord.java b/src/testcases/org/apache/poi/hssf/record/TestNameRecord.java index 115e06f65e..cbb4b048a0 100755 --- a/src/testcases/org/apache/poi/hssf/record/TestNameRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestNameRecord.java @@ -1,4 +1,3 @@ - /* ==================================================================== Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with @@ -25,9 +24,7 @@ import junit.framework.TestCase; * * @author Danny Mui (dmui at apache dot org) */ -public class TestNameRecord - extends TestCase -{ +public final class TestNameRecord extends TestCase { /** * Makes sure that additional name information is parsed properly such as menu/description @@ -55,13 +52,11 @@ public class TestNameRecord }; - NameRecord name = new NameRecord(new TestcaseRecordInputStream(NameRecord.sid, (short) examples.length, examples)); + NameRecord name = new NameRecord(TestcaseRecordInputStream.create(NameRecord.sid, examples)); String description = name.getDescriptionText(); assertNotNull( description ); assertTrue( "text contains ALLWOR", description.indexOf( "ALLWOR" ) > 0 ); - } - } diff --git a/src/testcases/org/apache/poi/hssf/record/TestNoteRecord.java b/src/testcases/org/apache/poi/hssf/record/TestNoteRecord.java index 063f34e0c7..e31601be57 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestNoteRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestNoteRecord.java @@ -29,9 +29,7 @@ import java.util.Arrays; * * @author Yegor Kozlov */ -public class TestNoteRecord - extends TestCase -{ +public final class TestNoteRecord extends TestCase { private byte[] data = new byte[] { 0x06, 0x00, 0x01, 0x00, 0x02, 0x00, 0x02, 0x04, 0x1A, 0x00, 0x00, 0x41, 0x70, 0x61, 0x63, 0x68, 0x65, 0x20, 0x53, 0x6F, @@ -41,7 +39,7 @@ public class TestNoteRecord public void testRead() { - NoteRecord record = new NoteRecord(new TestcaseRecordInputStream(NoteRecord.sid, (short)data.length, data)); + NoteRecord record = new NoteRecord(TestcaseRecordInputStream.create(NoteRecord.sid, data)); assertEquals(NoteRecord.sid, record.getSid()); assertEquals(6, record.getRow()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestNoteStructureSubRecord.java b/src/testcases/org/apache/poi/hssf/record/TestNoteStructureSubRecord.java index 014a5be2ba..fd2ae059b7 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestNoteStructureSubRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestNoteStructureSubRecord.java @@ -38,7 +38,7 @@ public final class TestNoteStructureSubRecord extends TestCase { public void testRead() { - NoteStructureSubRecord record = new NoteStructureSubRecord(new TestcaseRecordInputStream(NoteStructureSubRecord.sid, (short)data.length, data)); + NoteStructureSubRecord record = new NoteStructureSubRecord(TestcaseRecordInputStream.create(NoteStructureSubRecord.sid, data)); assertEquals(NoteStructureSubRecord.sid, record.getSid()); assertEquals(data.length + 4, record.getRecordSize()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestNumberFormatIndexRecord.java b/src/testcases/org/apache/poi/hssf/record/TestNumberFormatIndexRecord.java index 1ee74f2cc7..570d71ec62 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestNumberFormatIndexRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestNumberFormatIndexRecord.java @@ -35,7 +35,7 @@ public final class TestNumberFormatIndexRecord extends TestCase { public void testLoad() { - NumberFormatIndexRecord record = new NumberFormatIndexRecord(new TestcaseRecordInputStream((short)0x104e, (short)data.length, data)); + NumberFormatIndexRecord record = new NumberFormatIndexRecord(TestcaseRecordInputStream.create(0x104e, data)); assertEquals( 5, record.getFormatIndex()); assertEquals( 6, record.getRecordSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestObjRecord.java b/src/testcases/org/apache/poi/hssf/record/TestObjRecord.java index e8a6596e55..df26797807 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestObjRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestObjRecord.java @@ -51,7 +51,7 @@ public final class TestObjRecord extends TestCase { }; public void testLoad() { - ObjRecord record = new ObjRecord(new TestcaseRecordInputStream(ObjRecord.sid, (short)recdata.length, recdata)); + ObjRecord record = new ObjRecord(TestcaseRecordInputStream.create(ObjRecord.sid, recdata)); assertEquals(28, record.getRecordSize() - 4); @@ -63,7 +63,7 @@ public final class TestObjRecord extends TestCase { } public void testStore() { - ObjRecord record = new ObjRecord(new TestcaseRecordInputStream(ObjRecord.sid, (short)recdata.length, recdata)); + ObjRecord record = new ObjRecord(TestcaseRecordInputStream.create(ObjRecord.sid, recdata)); byte [] recordBytes = record.serialize(); assertEquals(28, recordBytes.length - 4); @@ -91,7 +91,7 @@ public final class TestObjRecord extends TestCase { byte [] bytes = new byte[recordBytes.length-4]; System.arraycopy(recordBytes, 4, bytes, 0, bytes.length); - record = new ObjRecord(new TestcaseRecordInputStream(ObjRecord.sid, (short)bytes.length, bytes)); + record = new ObjRecord(TestcaseRecordInputStream.create(ObjRecord.sid, bytes)); List subrecords = record.getSubRecords(); assertEquals( 2, subrecords.size() ); assertTrue( subrecords.get(0) instanceof CommonObjectDataSubRecord); @@ -99,7 +99,7 @@ public final class TestObjRecord extends TestCase { } public void testReadWriteWithPadding_bug45133() { - ObjRecord record = new ObjRecord(new TestcaseRecordInputStream(ObjRecord.sid, (short)recdataNeedingPadding.length, recdataNeedingPadding)); + ObjRecord record = new ObjRecord(TestcaseRecordInputStream.create(ObjRecord.sid, recdataNeedingPadding)); if (record.getRecordSize() == 34) { throw new AssertionFailedError("Identified bug 45133"); diff --git a/src/testcases/org/apache/poi/hssf/record/TestObjectLinkRecord.java b/src/testcases/org/apache/poi/hssf/record/TestObjectLinkRecord.java index e9d536df0a..9d8168d4b5 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestObjectLinkRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestObjectLinkRecord.java @@ -34,7 +34,7 @@ public final class TestObjectLinkRecord extends TestCase { }; public void testLoad() { - ObjectLinkRecord record = new ObjectLinkRecord(new TestcaseRecordInputStream((short)0x1027, (short)data.length, data)); + ObjectLinkRecord record = new ObjectLinkRecord(TestcaseRecordInputStream.create(0x1027, data)); assertEquals( (short)3, record.getAnchorId()); assertEquals( (short)0x00, record.getLink1()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestPaneRecord.java b/src/testcases/org/apache/poi/hssf/record/TestPaneRecord.java index aa80047913..93d1a1f987 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestPaneRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestPaneRecord.java @@ -37,7 +37,7 @@ public final class TestPaneRecord extends TestCase { }; public void testLoad() { - PaneRecord record = new PaneRecord(new TestcaseRecordInputStream((short)0x41, (short)data.length, data)); + PaneRecord record = new PaneRecord(TestcaseRecordInputStream.create(0x41, data)); assertEquals( (short)1, record.getX()); assertEquals( (short)2, record.getY()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestPlotAreaRecord.java b/src/testcases/org/apache/poi/hssf/record/TestPlotAreaRecord.java index aa5941a49a..631d6895d9 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestPlotAreaRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestPlotAreaRecord.java @@ -34,7 +34,7 @@ public final class TestPlotAreaRecord extends TestCase { }; public void testLoad() { - PlotAreaRecord record = new PlotAreaRecord(new TestcaseRecordInputStream((short)0x1035, (short)data.length, data)); + PlotAreaRecord record = new PlotAreaRecord(TestcaseRecordInputStream.create(0x1035, data)); assertEquals( 4, record.getRecordSize() ); } diff --git a/src/testcases/org/apache/poi/hssf/record/TestPlotGrowthRecord.java b/src/testcases/org/apache/poi/hssf/record/TestPlotGrowthRecord.java index 2897d8c332..c5896d2b38 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestPlotGrowthRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestPlotGrowthRecord.java @@ -35,7 +35,7 @@ public final class TestPlotGrowthRecord extends TestCase { public void testLoad() { - PlotGrowthRecord record = new PlotGrowthRecord(new TestcaseRecordInputStream((short)0x1064, (short)data.length, data)); + PlotGrowthRecord record = new PlotGrowthRecord(TestcaseRecordInputStream.create(0x1064, data)); assertEquals( 65536, record.getHorizontalScale()); assertEquals( 65536, record.getVerticalScale()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestRecordFactory.java b/src/testcases/org/apache/poi/hssf/record/TestRecordFactory.java index 6927c6820a..13cea4189c 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestRecordFactory.java +++ b/src/testcases/org/apache/poi/hssf/record/TestRecordFactory.java @@ -49,7 +49,7 @@ public final class TestRecordFactory extends TestCase { 0, 6, 5, 0, -2, 28, -51, 7, -55, 64, 0, 0, 6, 1, 0, 0 }; short size = 16; - Record[] record = RecordFactory.createRecord(new TestcaseRecordInputStream(recType, size, data)); + Record[] record = RecordFactory.createRecord(TestcaseRecordInputStream.create(recType, data)); assertEquals(BOFRecord.class.getName(), record[ 0 ].getClass().getName()); @@ -69,7 +69,7 @@ public final class TestRecordFactory extends TestCase { { 0, 0 }; - record = RecordFactory.createRecord(new TestcaseRecordInputStream(recType, size, data)); + record = RecordFactory.createRecord(TestcaseRecordInputStream.create(recType, data)); assertEquals(MMSRecord.class.getName(), record[ 0 ].getClass().getName()); MMSRecord mmsRecord = ( MMSRecord ) record[ 0 ]; @@ -94,7 +94,7 @@ public final class TestRecordFactory extends TestCase { 0, 0, 0, 0, 21, 0, 0, 0, 0, 0 }; short size = 10; - Record[] record = RecordFactory.createRecord(new TestcaseRecordInputStream(recType, size, data)); + Record[] record = RecordFactory.createRecord(TestcaseRecordInputStream.create(recType, data)); assertEquals(NumberRecord.class.getName(), record[ 0 ].getClass().getName()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSCLRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSCLRecord.java index 9b98dab1f6..335b6605d7 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSCLRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSCLRecord.java @@ -34,7 +34,7 @@ public final class TestSCLRecord extends TestCase { }; public void testLoad() { - SCLRecord record = new SCLRecord(new TestcaseRecordInputStream((short)0xa0, (short)data.length, data)); + SCLRecord record = new SCLRecord(TestcaseRecordInputStream.create(0xa0, data)); assertEquals( 3, record.getNumerator()); assertEquals( 4, record.getDenominator()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSSTDeserializer.java b/src/testcases/org/apache/poi/hssf/record/TestSSTDeserializer.java index 1cb1252b45..b16d2f83c7 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSSTDeserializer.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSSTDeserializer.java @@ -32,31 +32,30 @@ import org.apache.poi.util.IntMapper; * @author Glen Stampoultzis (glens at apache.org) */ public final class TestSSTDeserializer extends TestCase { + private static final int FAKE_SID = -5555; - - private byte[] joinArray(byte[] array1, byte[] array2) { - byte[] bigArray = new byte[array1.length + array2.length]; - System.arraycopy(array1, 0, bigArray, 0, array1.length); - System.arraycopy(array2, 0, bigArray, array1.length, array2.length); - return bigArray; + private static byte[] concat(byte[] a, byte[] b) { + byte[] result = new byte[a.length + b.length]; + System.arraycopy(a, 0, result, 0, a.length); + System.arraycopy(b, 0, result, a.length, b.length); + return result; } - private static byte[] readSampleHexData(String sampleFileName, String sectionName) { + private static byte[] readSampleHexData(String sampleFileName, String sectionName, int recSid) { InputStream is = HSSFTestDataSamples.openSampleFileStream(sampleFileName); + byte[] data; try { - return HexRead.readData(is, sectionName); + data = HexRead.readData(is, sectionName); } catch (IOException e) { throw new RuntimeException(e); } + return TestcaseRecordInputStream.mergeDataAndSid(recSid, data.length, data); } - public void testSpanRichTextToPlainText() - throws Exception - { - byte[] header = readSampleHexData("richtextdata.txt", "header" ); - byte[] continueBytes = readSampleHexData("richtextdata.txt", "continue1" ); - continueBytes = TestcaseRecordInputStream.mergeDataAndSid(ContinueRecord.sid, (short)continueBytes.length, continueBytes); - TestcaseRecordInputStream in = new TestcaseRecordInputStream((short)0, (short)header.length, joinArray(header, continueBytes)); + public void testSpanRichTextToPlainText() { + byte[] header = readSampleHexData("richtextdata.txt", "header", FAKE_SID); + byte[] continueBytes = readSampleHexData("richtextdata.txt", "continue1", ContinueRecord.sid); + RecordInputStream in = TestcaseRecordInputStream.create(concat(header, continueBytes)); IntMapper strings = new IntMapper(); @@ -66,13 +65,10 @@ public final class TestSSTDeserializer extends TestCase { assertEquals( "At a dinner party orAt At At ", strings.get( 0 ) + "" ); } - public void testContinuationWithNoOverlap() - throws Exception - { - byte[] header = readSampleHexData("evencontinuation.txt", "header" ); - byte[] continueBytes = readSampleHexData("evencontinuation.txt", "continue1" ); - continueBytes = TestcaseRecordInputStream.mergeDataAndSid(ContinueRecord.sid, (short)continueBytes.length, continueBytes); - TestcaseRecordInputStream in = new TestcaseRecordInputStream((short)0, (short)header.length, joinArray(header, continueBytes)); + public void testContinuationWithNoOverlap() { + byte[] header = readSampleHexData("evencontinuation.txt", "header", FAKE_SID); + byte[] continueBytes = readSampleHexData("evencontinuation.txt", "continue1", ContinueRecord.sid); + RecordInputStream in = TestcaseRecordInputStream.create(concat(header, continueBytes)); IntMapper strings = new IntMapper(); SSTDeserializer deserializer = new SSTDeserializer( strings ); @@ -85,18 +81,12 @@ public final class TestSSTDeserializer extends TestCase { /** * Strings can actually span across more than one continuation. */ - public void testStringAcross2Continuations() - throws Exception - { - byte[] header = readSampleHexData("stringacross2continuations.txt", "header" ); - byte[] continue1 = readSampleHexData("stringacross2continuations.txt", "continue1" ); - continue1 = TestcaseRecordInputStream.mergeDataAndSid(ContinueRecord.sid, (short)continue1.length, continue1); - byte[] continue2 = readSampleHexData("stringacross2continuations.txt", "continue2" ); - continue2 = TestcaseRecordInputStream.mergeDataAndSid(ContinueRecord.sid, (short)continue2.length, continue2); + public void testStringAcross2Continuations() { + byte[] header = readSampleHexData("stringacross2continuations.txt", "header", FAKE_SID); + byte[] continue1 = readSampleHexData("stringacross2continuations.txt", "continue1", ContinueRecord.sid); + byte[] continue2 = readSampleHexData("stringacross2continuations.txt", "continue2", ContinueRecord.sid); - byte[] bytes = joinArray(header, continue1); - bytes = joinArray(bytes, continue2); - TestcaseRecordInputStream in = new TestcaseRecordInputStream((short)0, (short)header.length, bytes); + RecordInputStream in = TestcaseRecordInputStream.create(concat(header, concat(continue1, continue2))); IntMapper strings = new IntMapper(); SSTDeserializer deserializer = new SSTDeserializer( strings ); @@ -107,10 +97,9 @@ public final class TestSSTDeserializer extends TestCase { } public void testExtendedStrings() { - byte[] header = readSampleHexData("extendedtextstrings.txt", "rich-header" ); - byte[] continueBytes = readSampleHexData("extendedtextstrings.txt", "rich-continue1" ); - continueBytes = TestcaseRecordInputStream.mergeDataAndSid(ContinueRecord.sid, (short)continueBytes.length, continueBytes); - TestcaseRecordInputStream in = new TestcaseRecordInputStream((short)0, (short)header.length, joinArray(header, continueBytes)); + byte[] header = readSampleHexData("extendedtextstrings.txt", "rich-header", FAKE_SID); + byte[] continueBytes = readSampleHexData("extendedtextstrings.txt", "rich-continue1", ContinueRecord.sid); + RecordInputStream in = TestcaseRecordInputStream.create(concat(header, continueBytes)); IntMapper strings = new IntMapper(); SSTDeserializer deserializer = new SSTDeserializer( strings ); @@ -119,10 +108,9 @@ public final class TestSSTDeserializer extends TestCase { assertEquals( "At a dinner party orAt At At ", strings.get( 0 ) + "" ); - header = readSampleHexData("extendedtextstrings.txt", "norich-header" ); - continueBytes = readSampleHexData("extendedtextstrings.txt", "norich-continue1" ); - continueBytes = TestcaseRecordInputStream.mergeDataAndSid(ContinueRecord.sid, (short)continueBytes.length, continueBytes); - in = new TestcaseRecordInputStream((short)0, (short)header.length, joinArray(header, continueBytes)); + header = readSampleHexData("extendedtextstrings.txt", "norich-header", FAKE_SID); + continueBytes = readSampleHexData("extendedtextstrings.txt", "norich-continue1", ContinueRecord.sid); + in = TestcaseRecordInputStream.create(concat(header, continueBytes)); strings = new IntMapper(); deserializer = new SSTDeserializer( strings ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSeriesChartGroupIndexRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSeriesChartGroupIndexRecord.java index 1f30f26ec0..cd09e061e6 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSeriesChartGroupIndexRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSeriesChartGroupIndexRecord.java @@ -33,7 +33,7 @@ public final class TestSeriesChartGroupIndexRecord extends TestCase { }; public void testLoad() { - SeriesChartGroupIndexRecord record = new SeriesChartGroupIndexRecord(new TestcaseRecordInputStream((short)0x1045, (short)data.length, data)); + SeriesChartGroupIndexRecord record = new SeriesChartGroupIndexRecord(TestcaseRecordInputStream.create(0x1045, data)); assertEquals( 0, record.getChartGroupIndex()); assertEquals( 6, record.getRecordSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSeriesIndexRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSeriesIndexRecord.java index b971128c99..9ba9b0ad9e 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSeriesIndexRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSeriesIndexRecord.java @@ -34,7 +34,7 @@ public final class TestSeriesIndexRecord extends TestCase { }; public void testLoad() { - SeriesIndexRecord record = new SeriesIndexRecord(new TestcaseRecordInputStream((short)0x1065, (short)data.length, data)); + SeriesIndexRecord record = new SeriesIndexRecord(TestcaseRecordInputStream.create(0x1065, data)); assertEquals( (short)3, record.getIndex()); assertEquals( 6, record.getRecordSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSeriesLabelsRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSeriesLabelsRecord.java index 265583655d..c1602dd2a3 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSeriesLabelsRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSeriesLabelsRecord.java @@ -34,7 +34,7 @@ public final class TestSeriesLabelsRecord extends TestCase { }; public void testLoad() { - SeriesLabelsRecord record = new SeriesLabelsRecord(new TestcaseRecordInputStream((short)0x100c, (short)data.length, data)); + SeriesLabelsRecord record = new SeriesLabelsRecord(TestcaseRecordInputStream.create(0x100c, data)); assertEquals( 3, record.getFormatFlags()); assertEquals( true, record.isShowActual() ); assertEquals( true, record.isShowPercent() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSeriesListRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSeriesListRecord.java index 027b6c3867..1669dc4dfc 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSeriesListRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSeriesListRecord.java @@ -35,7 +35,7 @@ public final class TestSeriesListRecord extends TestCase { public void testLoad() { - SeriesListRecord record = new SeriesListRecord(new TestcaseRecordInputStream((short)0x1016, (short)data.length, data)); + SeriesListRecord record = new SeriesListRecord(TestcaseRecordInputStream.create(0x1016, data)); assertEquals( (short)0x2001, record.getSeriesNumbers()[0]); assertEquals( (short)0xf0ff, record.getSeriesNumbers()[1]); assertEquals( 2, record.getSeriesNumbers().length); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSeriesRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSeriesRecord.java index 69232754fb..2e7cfa6fee 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSeriesRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSeriesRecord.java @@ -39,7 +39,7 @@ public final class TestSeriesRecord extends TestCase { public void testLoad() { - SeriesRecord record = new SeriesRecord(new TestcaseRecordInputStream((short)0x1003, (short)data.length, data)); + SeriesRecord record = new SeriesRecord(TestcaseRecordInputStream.create(0x1003, data)); assertEquals( SeriesRecord.CATEGORY_DATA_TYPE_NUMERIC, record.getCategoryDataType()); assertEquals( SeriesRecord.VALUES_DATA_TYPE_NUMERIC, record.getValuesDataType()); assertEquals( 27, record.getNumCategories()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSeriesTextRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSeriesTextRecord.java index 08e4189afb..a016e60e91 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSeriesTextRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSeriesTextRecord.java @@ -34,7 +34,7 @@ public final class TestSeriesTextRecord extends TestCase { }; public void testLoad() { - SeriesTextRecord record = new SeriesTextRecord(new TestcaseRecordInputStream((short)0x100d, (short)data.length, data)); + SeriesTextRecord record = new SeriesTextRecord(TestcaseRecordInputStream.create(0x100d, data)); assertEquals( (short)0, record.getId()); assertEquals( (byte)0x0C, record.getTextLength()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSeriesToChartGroupRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSeriesToChartGroupRecord.java index 4f20e0e696..8112c54b70 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSeriesToChartGroupRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSeriesToChartGroupRecord.java @@ -34,7 +34,7 @@ public final class TestSeriesToChartGroupRecord extends TestCase { }; public void testLoad() { - SeriesToChartGroupRecord record = new SeriesToChartGroupRecord(new TestcaseRecordInputStream((short)0x1045, (short)data.length, data)); + SeriesToChartGroupRecord record = new SeriesToChartGroupRecord(TestcaseRecordInputStream.create(0x1045, data)); assertEquals( 0x0, record.getChartGroupIndex()); assertEquals( 0x6, record.getRecordSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSharedFormulaRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSharedFormulaRecord.java index 7a13cfe5fd..8a52211a6a 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSharedFormulaRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSharedFormulaRecord.java @@ -59,7 +59,7 @@ public final class TestSharedFormulaRecord extends TestCase { */ public void testConvertSharedFormulasOperandClasses_bug45123() { - TestcaseRecordInputStream in = new TestcaseRecordInputStream(0, SHARED_FORMULA_WITH_REF_ARRAYS_DATA); + RecordInputStream in = TestcaseRecordInputStream.createWithFakeSid(SHARED_FORMULA_WITH_REF_ARRAYS_DATA); int encodedLen = in.readUShort(); Ptg[] sharedFormula = Ptg.readTokens(encodedLen, in); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSheetPropertiesRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSheetPropertiesRecord.java index 932ff6eace..aa870a3374 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSheetPropertiesRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSheetPropertiesRecord.java @@ -36,7 +36,7 @@ public final class TestSheetPropertiesRecord extends TestCase { }; public void testLoad() { - SheetPropertiesRecord record = new SheetPropertiesRecord(new TestcaseRecordInputStream((short)0x1044, (short)data.length, data)); + SheetPropertiesRecord record = new SheetPropertiesRecord(TestcaseRecordInputStream.create(0x1044, data)); assertEquals( 10, record.getFlags()); assertEquals( false, record.isChartTypeManuallyFormatted() ); assertEquals( true, record.isPlotVisibleOnly() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestStringRecord.java b/src/testcases/org/apache/poi/hssf/record/TestStringRecord.java index 7f06c54ab3..14b708cdc8 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestStringRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestStringRecord.java @@ -27,7 +27,7 @@ import junit.framework.TestCase; * * @author Glen Stampoultzis (glens at apache.org) */ -public class TestStringRecord extends TestCase { +public final class TestStringRecord extends TestCase { byte[] data = new byte[] { (byte)0x0B,(byte)0x00, // length (byte)0x00, // option @@ -37,7 +37,7 @@ public class TestStringRecord extends TestCase { public void testLoad() { - StringRecord record = new StringRecord(new TestcaseRecordInputStream((short)0x207, (short)data.length, data)); + StringRecord record = new StringRecord(TestcaseRecordInputStream.create(0x207, data)); assertEquals( "Fahrzeugtyp", record.getString()); assertEquals( 18, record.getRecordSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestSupBookRecord.java b/src/testcases/org/apache/poi/hssf/record/TestSupBookRecord.java index 5506f6abdf..d7725b8ee0 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestSupBookRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestSupBookRecord.java @@ -51,7 +51,7 @@ public final class TestSupBookRecord extends TestCase { */ public void testLoadIR() { - SupBookRecord record = new SupBookRecord(new TestcaseRecordInputStream((short)0x01AE, dataIR)); + SupBookRecord record = new SupBookRecord(TestcaseRecordInputStream.create(0x01AE, dataIR)); assertTrue( record.isInternalReferences() ); //expected flag assertEquals( 0x4, record.getNumberOfSheets() ); //expected # of sheets @@ -62,7 +62,7 @@ public final class TestSupBookRecord extends TestCase { */ public void testLoadER() { - SupBookRecord record = new SupBookRecord(new TestcaseRecordInputStream((short)0x01AE, dataER)); + SupBookRecord record = new SupBookRecord(TestcaseRecordInputStream.create(0x01AE, dataER)); assertTrue( record.isExternalReferences() ); //expected flag assertEquals( 0x2, record.getNumberOfSheets() ); //expected # of sheets @@ -80,7 +80,7 @@ public final class TestSupBookRecord extends TestCase { */ public void testLoadAIF() { - SupBookRecord record = new SupBookRecord(new TestcaseRecordInputStream((short)0x01AE, dataAIF)); + SupBookRecord record = new SupBookRecord(TestcaseRecordInputStream.create(0x01AE, dataAIF)); assertTrue( record.isAddInFunctions() ); //expected flag assertEquals( 0x1, record.getNumberOfSheets() ); //expected # of sheets assertEquals( 8, record.getRecordSize() ); //sid+size+data diff --git a/src/testcases/org/apache/poi/hssf/record/TestTableRecord.java b/src/testcases/org/apache/poi/hssf/record/TestTableRecord.java index 19c91bbacb..3a2ada6e78 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestTableRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestTableRecord.java @@ -44,7 +44,7 @@ public final class TestTableRecord extends TestCase { public void testLoad() { - TableRecord record = new TableRecord(new TestcaseRecordInputStream((short)0x236, (short)data.length, data)); + TableRecord record = new TableRecord(TestcaseRecordInputStream.create(0x236, data)); CellRangeAddress8Bit range = record.getRange(); assertEquals(3, range.getFirstRow()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestTextRecord.java b/src/testcases/org/apache/poi/hssf/record/TestTextRecord.java index 40e98dff93..8d416050f7 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestTextRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestTextRecord.java @@ -27,7 +27,7 @@ import junit.framework.TestCase; * * @author Glen Stampoultzis (glens at apache.org) */ -public class TestTextRecord extends TestCase { +public final class TestTextRecord extends TestCase { byte[] data = new byte[] { (byte)0x02, // horiz align (byte)0x02, // vert align @@ -45,7 +45,7 @@ public class TestTextRecord extends TestCase { public void testLoad() { - TextRecord record = new TextRecord(new TestcaseRecordInputStream((short)0x1025, (short)data.length, data)); + TextRecord record = new TextRecord(TestcaseRecordInputStream.create(0x1025, data)); assertEquals( TextRecord.HORIZONTAL_ALIGNMENT_CENTER, record.getHorizontalAlignment()); assertEquals( TextRecord.VERTICAL_ALIGNMENT_CENTER, record.getVerticalAlignment()); assertEquals( TextRecord.DISPLAY_MODE_TRANSPARENT, record.getDisplayMode()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestTickRecord.java b/src/testcases/org/apache/poi/hssf/record/TestTickRecord.java index 4f2d9efd36..b0b8ced7b0 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestTickRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestTickRecord.java @@ -40,7 +40,7 @@ public final class TestTickRecord extends TestCase { }; public void testLoad() { - TickRecord record = new TickRecord(new TestcaseRecordInputStream((short)0x101e, (short)data.length, data)); + TickRecord record = new TickRecord(TestcaseRecordInputStream.create(0x101e, data)); assertEquals( (byte)2, record.getMajorTickType()); assertEquals( (byte)0, record.getMinorTickType()); assertEquals( (byte)3, record.getLabelPosition()); diff --git a/src/testcases/org/apache/poi/hssf/record/TestUnitsRecord.java b/src/testcases/org/apache/poi/hssf/record/TestUnitsRecord.java index c43828af48..7b79553df4 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestUnitsRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestUnitsRecord.java @@ -35,7 +35,7 @@ public final class TestUnitsRecord extends TestCase { public void testLoad() { - UnitsRecord record = new UnitsRecord(new TestcaseRecordInputStream((short)0x1001, (short)data.length, data)); + UnitsRecord record = new UnitsRecord(TestcaseRecordInputStream.create(0x1001, data)); assertEquals( 0, record.getUnits()); assertEquals( 6, record.getRecordSize() ); diff --git a/src/testcases/org/apache/poi/hssf/record/TestValueRangeRecord.java b/src/testcases/org/apache/poi/hssf/record/TestValueRangeRecord.java index b974bf9759..62d7d34c21 100644 --- a/src/testcases/org/apache/poi/hssf/record/TestValueRangeRecord.java +++ b/src/testcases/org/apache/poi/hssf/record/TestValueRangeRecord.java @@ -40,7 +40,7 @@ public final class TestValueRangeRecord extends TestCase { public void testLoad() { - ValueRangeRecord record = new ValueRangeRecord(new TestcaseRecordInputStream((short)0x101f, (short)data.length, data)); + ValueRangeRecord record = new ValueRangeRecord(TestcaseRecordInputStream.create(0x101f, data)); assertEquals( 0.0, record.getMinimumAxisValue(), 0.001); assertEquals( 0.0, record.getMaximumAxisValue(), 0.001); assertEquals( 0.0, record.getMajorIncrement(), 0.001); diff --git a/src/testcases/org/apache/poi/hssf/record/TestcaseRecordInputStream.java b/src/testcases/org/apache/poi/hssf/record/TestcaseRecordInputStream.java index ecb55ca82c..e16eb2022e 100755 --- a/src/testcases/org/apache/poi/hssf/record/TestcaseRecordInputStream.java +++ b/src/testcases/org/apache/poi/hssf/record/TestcaseRecordInputStream.java @@ -18,6 +18,7 @@ package org.apache.poi.hssf.record; import java.io.ByteArrayInputStream; +import java.io.InputStream; import junit.framework.Assert; @@ -30,27 +31,51 @@ import org.apache.poi.util.LittleEndian; * * @author Jason Height (jheight at apache.org) */ -public class TestcaseRecordInputStream - extends RecordInputStream -{ +public final class TestcaseRecordInputStream { + + private TestcaseRecordInputStream() { + // no instances of this class + } + + /** + * Prepends a mock record identifier to the supplied data and opens a record input stream + */ + public static RecordInputStream createWithFakeSid(byte[] data) { + return create(-5555, data); + + } + public static RecordInputStream create(int sid, byte[] data) { + return create(mergeDataAndSid(sid, data.length, data)); + } + /** + * First 4 bytes of <tt>data</tt> are assumed to be record identifier and length. The supplied + * <tt>data</tt> can contain multiple records (sequentially encoded in the same way) + */ + public static RecordInputStream create(byte[] data) { + InputStream is = new ByteArrayInputStream(data); + RecordInputStream result = new RecordInputStream(is); + result.nextRecord(); + return result; + } + /** * Convenience constructor */ - public TestcaseRecordInputStream(int sid, byte[] data) - { - super(new ByteArrayInputStream(mergeDataAndSid((short)sid, (short)data.length, data))); - nextRecord(); - } - public TestcaseRecordInputStream(short sid, short length, byte[] data) - { - super(new ByteArrayInputStream(mergeDataAndSid(sid, length, data))); - nextRecord(); - } +// public TestcaseRecordInputStream(int sid, byte[] data) +// { +// super(new ByteArrayInputStream(mergeDataAndSid(sid, data.length, data))); +// nextRecord(); +// } +// public TestcaseRecordInputStream(short sid, short length, byte[] data) +// { +// super(new ByteArrayInputStream(mergeDataAndSid(sid, length, data))); +// nextRecord(); +// } - public static byte[] mergeDataAndSid(short sid, short length, byte[] data) { + public static byte[] mergeDataAndSid(int sid, int length, byte[] data) { byte[] result = new byte[data.length + 4]; - LittleEndian.putShort(result, 0, sid); - LittleEndian.putShort(result, 2, length); + LittleEndian.putUShort(result, 0, sid); + LittleEndian.putUShort(result, 2, length); System.arraycopy(data, 0, result, 4, data.length); return result; } diff --git a/src/testcases/org/apache/poi/hssf/record/constant/TestConstantValueParser.java b/src/testcases/org/apache/poi/hssf/record/constant/TestConstantValueParser.java index 52c6f679d7..17a0901040 100644 --- a/src/testcases/org/apache/poi/hssf/record/constant/TestConstantValueParser.java +++ b/src/testcases/org/apache/poi/hssf/record/constant/TestConstantValueParser.java @@ -25,6 +25,7 @@ import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.TestcaseRecordInputStream; import org.apache.poi.hssf.record.UnicodeString; import org.apache.poi.hssf.usermodel.HSSFErrorConstants; +import org.apache.poi.util.HexRead; /** * * @author Josh Micich @@ -37,13 +38,12 @@ public final class TestConstantValueParser extends TestCase { new UnicodeString("Sample text"), ErrorConstant.valueOf(HSSFErrorConstants.ERROR_DIV_0), }; - private static final byte[] SAMPLE_ENCODING = { - 4, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1, -102, -103, -103, -103, -103, -103, -15, 63, - 2, 11, 0, 0, 83, 97, 109, 112, 108, 101, 32, 116, 101, 120, 116, - 16, 7, 0, 0, 0, 0, 0, 0, 0, - }; + private static final byte[] SAMPLE_ENCODING = HexRead.readFromString( + "04 01 00 00 00 00 00 00 00 " + + "00 00 00 00 00 00 00 00 00 " + + "01 9A 99 99 99 99 99 F1 3F " + + "02 0B 00 00 53 61 6D 70 6C 65 20 74 65 78 74 " + + "10 07 00 00 00 00 00 00 00"); public void testGetEncodedSize() { int actual = ConstantValueParser.getEncodedSize(SAMPLE_VALUES); @@ -59,7 +59,7 @@ public final class TestConstantValueParser extends TestCase { } } public void testDecode() { - RecordInputStream in = new TestcaseRecordInputStream(0x0001, SAMPLE_ENCODING); + RecordInputStream in = TestcaseRecordInputStream.createWithFakeSid(SAMPLE_ENCODING); Object[] values = ConstantValueParser.parse(in, 4); for (int i = 0; i < values.length; i++) { diff --git a/src/testcases/org/apache/poi/hssf/record/formula/TestArrayPtg.java b/src/testcases/org/apache/poi/hssf/record/formula/TestArrayPtg.java index df2c1f77bd..8d2fe631d2 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/TestArrayPtg.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/TestArrayPtg.java @@ -54,9 +54,9 @@ public final class TestArrayPtg extends TestCase { */ public void testReadWriteTokenValueBytes() { - ArrayPtg ptg = new ArrayPtg(new TestcaseRecordInputStream(ArrayPtg.sid, ENCODED_PTG_DATA)); + ArrayPtg ptg = new ArrayPtg(TestcaseRecordInputStream.createWithFakeSid(ENCODED_PTG_DATA)); - ptg.readTokenValues(new TestcaseRecordInputStream(0, ENCODED_CONSTANT_DATA)); + ptg.readTokenValues(TestcaseRecordInputStream.createWithFakeSid(ENCODED_CONSTANT_DATA)); assertEquals(3, ptg.getColumnCount()); assertEquals(2, ptg.getRowCount()); Object[][] values = ptg.getTokenArrayValues(); @@ -82,8 +82,8 @@ public final class TestArrayPtg extends TestCase { * Excel stores array elements column by column. This test makes sure POI does the same. */ public void testElementOrdering() { - ArrayPtg ptg = new ArrayPtg(new TestcaseRecordInputStream(ArrayPtg.sid, ENCODED_PTG_DATA)); - ptg.readTokenValues(new TestcaseRecordInputStream(0, ENCODED_CONSTANT_DATA)); + ArrayPtg ptg = new ArrayPtg(TestcaseRecordInputStream.createWithFakeSid(ENCODED_PTG_DATA)); + ptg.readTokenValues(TestcaseRecordInputStream.createWithFakeSid(ENCODED_CONSTANT_DATA)); assertEquals(3, ptg.getColumnCount()); assertEquals(2, ptg.getRowCount()); @@ -113,9 +113,9 @@ public final class TestArrayPtg extends TestCase { } public void testToFormulaString() { - ArrayPtg ptg = new ArrayPtg(new TestcaseRecordInputStream(ArrayPtg.sid, ENCODED_PTG_DATA)); + ArrayPtg ptg = new ArrayPtg(TestcaseRecordInputStream.createWithFakeSid(ENCODED_PTG_DATA)); - ptg.readTokenValues(new TestcaseRecordInputStream(0, ENCODED_CONSTANT_DATA)); + ptg.readTokenValues(TestcaseRecordInputStream.createWithFakeSid(ENCODED_CONSTANT_DATA)); String actualFormula; try { @@ -146,7 +146,7 @@ public final class TestArrayPtg extends TestCase { // Force encoded operand class for tArray fullData[0] = (byte) (ArrayPtg.sid + operandClass); - RecordInputStream in = new TestcaseRecordInputStream(ArrayPtg.sid, fullData); + RecordInputStream in = TestcaseRecordInputStream.createWithFakeSid(fullData); Ptg[] ptgs = Ptg.readTokens(ENCODED_PTG_DATA.length, in); assertEquals(1, ptgs.length); diff --git a/src/testcases/org/apache/poi/hssf/record/formula/TestFuncPtg.java b/src/testcases/org/apache/poi/hssf/record/formula/TestFuncPtg.java index 89997b59d1..827bea8332 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/TestFuncPtg.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/TestFuncPtg.java @@ -34,7 +34,7 @@ public final class TestFuncPtg extends TestCase { 0, }; - FuncPtg ptg = new FuncPtg( new TestcaseRecordInputStream((short)0, (short)fakeData.length, fakeData) ); + FuncPtg ptg = new FuncPtg(TestcaseRecordInputStream.createWithFakeSid(fakeData) ); assertEquals( "Len formula index is not 32(20H)", 0x20, ptg.getFunctionIndex() ); assertEquals( "Number of operands in the len formula", 1, ptg.getNumberOfOperands() ); assertEquals( "Function Name", "LEN", ptg.getName() ); diff --git a/src/testcases/org/apache/poi/hssf/record/formula/TestReferencePtg.java b/src/testcases/org/apache/poi/hssf/record/formula/TestReferencePtg.java index a94552ef9d..6be329ed5a 100644 --- a/src/testcases/org/apache/poi/hssf/record/formula/TestReferencePtg.java +++ b/src/testcases/org/apache/poi/hssf/record/formula/TestReferencePtg.java @@ -23,6 +23,7 @@ import junit.framework.AssertionFailedError; import junit.framework.TestCase; import org.apache.poi.hssf.HSSFTestDataSamples; +import org.apache.poi.hssf.record.RecordInputStream; import org.apache.poi.hssf.record.TestcaseRecordInputStream; import org.apache.poi.hssf.usermodel.HSSFSheet; import org.apache.poi.hssf.usermodel.HSSFWorkbook; @@ -93,7 +94,7 @@ public final class TestReferencePtg extends TestCase { 0x2C, 33, 44, 55, 66, }; public void testReadWrite_tRefN_bug45091() { - TestcaseRecordInputStream in = new TestcaseRecordInputStream(-1, tRefN_data); + RecordInputStream in = TestcaseRecordInputStream.createWithFakeSid(tRefN_data); Ptg[] ptgs = Ptg.readTokens(tRefN_data.length, in); byte[] outData = new byte[5]; Ptg.serializePtgs(ptgs, outData, 0); |