Modified: poi/trunk/src/java/org/apache/poi/ddf/EscherSpgrRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ddf/EscherSpgrRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ddf/EscherSpgrRecord.java (original)
+++ poi/trunk/src/java/org/apache/poi/ddf/EscherSpgrRecord.java Fri Jun 30 
20:21:33 2017
@@ -17,7 +17,6 @@
 
 package org.apache.poi.ddf;
 
-import org.apache.poi.util.HexDump;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.RecordFormatException;
 
@@ -46,7 +45,9 @@ public class EscherSpgrRecord
         field_3_rectX2 =  LittleEndian.getInt( data, pos + size );size+=4;
         field_4_rectY2 =  LittleEndian.getInt( data, pos + size );size+=4;
         bytesRemaining -= size;
-        if (bytesRemaining != 0) throw new RecordFormatException("Expected no 
remaining bytes but got " + bytesRemaining);
+        if (bytesRemaining != 0) {
+            throw new RecordFormatException("Expected no remaining bytes but 
got " + bytesRemaining);
+        }
 //        remainingData  =  new byte[bytesRemaining];
 //        System.arraycopy( data, pos + size, remainingData, 0, bytesRemaining 
);
         return 8 + size + bytesRemaining;
@@ -87,33 +88,6 @@ public class EscherSpgrRecord
     }
 
     /**
-     * @return  the string representation of this record.
-     */
-    @Override
-    public String toString() {
-        return getClass().getName() + ":" + '\n' +
-                "  RecordId: 0x" + HexDump.toHex(RECORD_ID) + '\n' +
-                "  Version: 0x" + HexDump.toHex(getVersion()) + '\n' +
-                "  Instance: 0x" + HexDump.toHex(getInstance()) + '\n' +
-                "  RectX: " + field_1_rectX1 + '\n' +
-                "  RectY: " + field_2_rectY1 + '\n' +
-                "  RectWidth: " + field_3_rectX2 + '\n' +
-                "  RectHeight: " + field_4_rectY2 + '\n';
-    }
-
-    @Override
-    public String toXml(String tab) {
-        StringBuilder builder = new StringBuilder();
-        
builder.append(tab).append(formatXmlRecordHeader(getClass().getSimpleName(), 
HexDump.toHex(getRecordId()), HexDump.toHex(getVersion()), 
HexDump.toHex(getInstance())))
-                
.append(tab).append("\t").append("<RectX>").append(field_1_rectX1).append("</RectX>\n")
-                
.append(tab).append("\t").append("<RectY>").append(field_2_rectY1).append("</RectY>\n")
-                
.append(tab).append("\t").append("<RectWidth>").append(field_3_rectX2).append("</RectWidth>\n")
-                
.append(tab).append("\t").append("<RectHeight>").append(field_4_rectY2).append("</RectHeight>\n");
-        
builder.append(tab).append("</").append(getClass().getSimpleName()).append(">\n");
-        return builder.toString();
-    }
-
-    /**
      * The starting top-left coordinate of child records.
      * 
      * @return the top-left x coordinate
@@ -191,4 +165,14 @@ public class EscherSpgrRecord
     public void setRectY2(int rectY2) {
         this.field_4_rectY2 = rectY2;
     }
+
+    @Override
+    protected Object[][] getAttributeMap() {
+        return new Object[][] {
+            { "RectX", field_1_rectX1 },
+            { "RectY", field_2_rectY1 },
+            { "RectWidth", field_3_rectX2 },
+            { "RectHeight", field_4_rectY2 }
+        };
+    }
 }

Modified: poi/trunk/src/java/org/apache/poi/ddf/EscherSplitMenuColorsRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ddf/EscherSplitMenuColorsRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ddf/EscherSplitMenuColorsRecord.java 
(original)
+++ poi/trunk/src/java/org/apache/poi/ddf/EscherSplitMenuColorsRecord.java Fri 
Jun 30 20:21:33 2017
@@ -17,7 +17,6 @@
 
 package org.apache.poi.ddf;
 
-import org.apache.poi.util.HexDump;
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.RecordFormatException;
 
@@ -46,8 +45,9 @@ public class EscherSplitMenuColorsRecord
         field_3_color3 =  LittleEndian.getInt( data, pos + size );size+=4;
         field_4_color4 =  LittleEndian.getInt( data, pos + size );size+=4;
         bytesRemaining -= size;
-        if (bytesRemaining != 0)
+        if (bytesRemaining != 0) {
             throw new RecordFormatException("Expecting no remaining data but 
got " + bytesRemaining + " byte(s).");
+        }
         return 8 + size + bytesRemaining;
     }
 
@@ -86,34 +86,6 @@ public class EscherSplitMenuColorsRecord
     }
 
     /**
-     * @return  a string representation of this record.
-     */
-    @Override
-    public String toString() {
-        return getClass().getName() + ":" + '\n' +
-                "  RecordId: 0x" + HexDump.toHex(RECORD_ID) + '\n' +
-                "  Version: 0x" + HexDump.toHex(getVersion()) + '\n' +
-                "  Instance: 0x" + HexDump.toHex(getInstance()) + '\n' +
-                "  Color1: 0x" + HexDump.toHex(field_1_color1) + '\n' +
-                "  Color2: 0x" + HexDump.toHex(field_2_color2) + '\n' +
-                "  Color3: 0x" + HexDump.toHex(field_3_color3) + '\n' +
-                "  Color4: 0x" + HexDump.toHex(field_4_color4) + '\n' +
-                "";
-    }
-
-    @Override
-    public String toXml(String tab) {
-        StringBuilder builder = new StringBuilder();
-        
builder.append(tab).append(formatXmlRecordHeader(getClass().getSimpleName(), 
HexDump.toHex(getRecordId()), HexDump.toHex(getVersion()), 
HexDump.toHex(getInstance())))
-                
.append(tab).append("\t").append("<Color1>0x").append(HexDump.toHex(field_1_color1)).append("</Color1>\n")
-                
.append(tab).append("\t").append("<Color2>0x").append(HexDump.toHex(field_2_color2)).append("</Color2>\n")
-                
.append(tab).append("\t").append("<Color3>0x").append(HexDump.toHex(field_3_color3)).append("</Color3>\n")
-                
.append(tab).append("\t").append("<Color4>0x").append(HexDump.toHex(field_4_color4)).append("</Color4>\n");
-        
builder.append(tab).append("</").append(getClass().getSimpleName()).append(">\n");
-        return builder.toString();
-    }
-
-    /**
      * Gets the fill color 
      *
      * @return the fill color
@@ -184,4 +156,14 @@ public class EscherSplitMenuColorsRecord
     public void setColor4( int field_4_color4 ) {
         this.field_4_color4 = field_4_color4;
     }
+
+    @Override
+    protected Object[][] getAttributeMap() {
+        return new Object[][] {
+            { "Color1", field_1_color1 },
+            { "Color2", field_2_color2 },
+            { "Color3", field_3_color3 },
+            { "Color4", field_4_color4 }
+        };
+    }
 }

Modified: poi/trunk/src/java/org/apache/poi/ddf/EscherTextboxRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ddf/EscherTextboxRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ddf/EscherTextboxRecord.java (original)
+++ poi/trunk/src/java/org/apache/poi/ddf/EscherTextboxRecord.java Fri Jun 30 
20:21:33 2017
@@ -17,7 +17,9 @@
 
 package org.apache.poi.ddf;
 
-import org.apache.poi.util.HexDump;
+import java.util.ArrayList;
+import java.util.List;
+
 import org.apache.poi.util.LittleEndian;
 import org.apache.poi.util.RecordFormatException;
 
@@ -65,8 +67,9 @@ public final class EscherTextboxRecord e
 
         listener.afterRecordSerialize( pos, getRecordId(), pos - offset, this 
);
         int size = pos - offset;
-        if (size != getRecordSize())
+        if (size != getRecordSize()) {
             throw new RecordFormatException(size + " bytes written but 
getRecordSize() reports " + getRecordSize());
+        }
         return size;
     }
 
@@ -130,54 +133,20 @@ public final class EscherTextboxRecord e
     }
 
     @Override
-    public String toString()
-    {
-        String nl = System.getProperty( "line.separator" );
-
-        String theDumpHex = "";
-        try
-        {
-            if (thedata.length != 0)
-            {
-                theDumpHex = "  Extra Data:" + nl;
-                theDumpHex += HexDump.dump(thedata, 0, 0);
-            }
-        }
-        catch ( Exception e )
-        {
-            theDumpHex = "Error!!";
-        }
-
-        return getClass().getName() + ":" + nl +
-                "  isContainer: " + isContainerRecord() + nl +
-                "  version: 0x" + HexDump.toHex( getVersion() ) + nl +
-                "  instance: 0x" + HexDump.toHex( getInstance() ) + nl +
-                "  recordId: 0x" + HexDump.toHex( getRecordId() ) + nl +
-                "  numchildren: " + getChildRecords().size() + nl +
-                theDumpHex;
-    }
-
-    @Override
-    public String toXml(String tab) {
-        String theDumpHex = "";
-        try
-        {
-            if (thedata.length != 0)
-            {
-                theDumpHex += HexDump.dump(thedata, 0, 0);
-            }
-        }
-        catch ( Exception e )
-        {
-            theDumpHex = "Error!!";
+    protected Object[][] getAttributeMap() {
+        int numCh = getChildRecords().size();
+        List<Object> chLst = new ArrayList<Object>(numCh*2+2);
+        chLst.add("children");
+        chLst.add(numCh);
+        for (EscherRecord er : getChildRecords()) {
+            chLst.add(er.getRecordName());
+            chLst.add(er);
         }
-        StringBuilder builder = new StringBuilder();
-        
builder.append(tab).append(formatXmlRecordHeader(getClass().getSimpleName(), 
HexDump.toHex(getRecordId()), HexDump.toHex(getVersion()), 
HexDump.toHex(getInstance())))
-                
.append(tab).append("\t").append("<ExtraData>").append(theDumpHex).append("</ExtraData>\n");
-        
builder.append(tab).append("</").append(getClass().getSimpleName()).append(">\n");
-        return builder.toString();
+        
+        return new Object[][] {
+            { "isContainer", isContainerRecord() },
+            chLst.toArray(),
+            { "Extra Data", thedata }
+        };
     }
 }
-
-
-

Modified: poi/trunk/src/java/org/apache/poi/ddf/UnknownEscherRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/java/org/apache/poi/ddf/UnknownEscherRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/java/org/apache/poi/ddf/UnknownEscherRecord.java (original)
+++ poi/trunk/src/java/org/apache/poi/ddf/UnknownEscherRecord.java Fri Jun 30 
20:21:33 2017
@@ -18,7 +18,6 @@
 package org.apache.poi.ddf;
 
 import java.util.ArrayList;
-import java.util.Iterator;
 import java.util.List;
 
 import org.apache.poi.util.HexDump;
@@ -130,48 +129,25 @@ public final class UnknownEscherRecord e
         return "Unknown 0x" + HexDump.toHex(getRecordId());
     }
 
-    @Override
-    public String toString() {
-        StringBuffer children = new StringBuffer();
-        if (getChildRecords().size() > 0) {
-            children.append( "  children: " + '\n' );
-            for (EscherRecord record : _childRecords) {
-                children.append(record);
-                children.append( '\n' );
-            }
-        }
-
-        String theDumpHex = HexDump.toHex(thedata, 32);
-
-        return getClass().getName() + ":" + '\n' +
-                "  isContainer: " + isContainerRecord() + '\n' +
-                "  version: 0x" + HexDump.toHex( getVersion() ) + '\n' +
-                "  instance: 0x" + HexDump.toHex( getInstance() ) + '\n' +
-                "  recordId: 0x" + HexDump.toHex( getRecordId() ) + '\n' +
-                "  numchildren: " + getChildRecords().size() + '\n' +
-                theDumpHex +
-                children;
+    public void addChildRecord(EscherRecord childRecord) {
+        getChildRecords().add( childRecord );
     }
 
     @Override
-    public String toXml(String tab) {
-        String theDumpHex = HexDump.toHex(thedata, 32);
-        StringBuilder builder = new StringBuilder();
-        
builder.append(tab).append(formatXmlRecordHeader(getClass().getSimpleName(), 
HexDump.toHex(getRecordId()), HexDump.toHex(getVersion()), 
HexDump.toHex(getInstance())))
-                
.append(tab).append("\t").append("<IsContainer>").append(isContainerRecord()).append("</IsContainer>\n")
-                
.append(tab).append("\t").append("<Numchildren>").append(HexDump.toHex(_childRecords.size())).append("</Numchildren>\n");
-        for ( Iterator<EscherRecord> iterator = _childRecords.iterator(); 
iterator
-                .hasNext(); )
-        {
-            EscherRecord record = iterator.next();
-            builder.append(record.toXml(tab+"\t"));
+    protected Object[][] getAttributeMap() {
+        int numCh = getChildRecords().size();
+        List<Object> chLst = new ArrayList<Object>(numCh*2+2);
+        chLst.add("children");
+        chLst.add(numCh);
+        for (EscherRecord er : _childRecords) {
+            chLst.add(er.getRecordName());
+            chLst.add(er);
         }
-        builder.append(theDumpHex).append("\n");
-        
builder.append(tab).append("</").append(getClass().getSimpleName()).append(">\n");
-        return builder.toString();
-    }
-
-    public void addChildRecord(EscherRecord childRecord) {
-        getChildRecords().add( childRecord );
+        
+        return new Object[][] {
+            { "isContainer", isContainerRecord() },
+            chLst.toArray(),
+            { "Extra Data", thedata }
+        };
     }
 }

Modified: 
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/EscherPlaceholder.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/EscherPlaceholder.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- 
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/EscherPlaceholder.java 
(original)
+++ 
poi/trunk/src/scratchpad/src/org/apache/poi/hslf/record/EscherPlaceholder.java 
Fri Jun 30 20:21:33 2017
@@ -17,8 +17,10 @@
 
 package org.apache.poi.hslf.record;
 
-import org.apache.poi.ddf.*;
-import org.apache.poi.util.*;
+import org.apache.poi.ddf.EscherRecord;
+import org.apache.poi.ddf.EscherRecordFactory;
+import org.apache.poi.ddf.EscherSerializationListener;
+import org.apache.poi.util.LittleEndian;
 
 /**
  * An atom record that specifies whether a shape is a placeholder shape.
@@ -33,9 +35,10 @@ public class EscherPlaceholder extends E
     private byte placementId = 0;
     private byte size = 0;
     private short unused = 0;
-    
+
     public EscherPlaceholder() {}
-    
+
+    @Override
     public int fillFields(byte[] data, int offset, EscherRecordFactory 
recordFactory) {
         int bytesRemaining = readHeader( data, offset );
 
@@ -43,14 +46,15 @@ public class EscherPlaceholder extends E
         placementId = data[offset+12];
         size = data[offset+13];
         unused = LittleEndian.getShort(data, offset+14);
-        
+
         assert(bytesRemaining + 8 == 16);
         return bytesRemaining + 8;
     }
 
+    @Override
     public int serialize(int offset, byte[] data, EscherSerializationListener 
listener) {
         listener.beforeRecordSerialize( offset, getRecordId(), this );
-        
+
         LittleEndian.putShort(data, offset, getOptions());
         LittleEndian.putShort(data, offset+2, getRecordId());
         LittleEndian.putInt(data, offset+4, 8);
@@ -58,18 +62,28 @@ public class EscherPlaceholder extends E
         LittleEndian.putByte(data, offset+12, placementId);
         LittleEndian.putByte(data, offset+13, size);
         LittleEndian.putShort(data, offset+14, unused);
-        
+
         listener.afterRecordSerialize( offset+getRecordSize(), getRecordId(), 
getRecordSize(), this );
         return getRecordSize();
     }
 
+    @Override
     public int getRecordSize() {
         return 8 + 8;
     }
 
+    @Override
     public String getRecordName() {
         return "ClientTextboxPlaceholder";
     }
 
-    
+    @Override
+    protected Object[][] getAttributeMap() {
+        return new Object[][] {
+            { "position", position },
+            { "placementId", placementId },
+            { "placehoder size", size },
+            { "unused", unused }
+        };
+    }
 }

Modified: poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBSERecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBSERecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBSERecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBSERecord.java Fri Jun 
30 20:21:33 2017
@@ -17,11 +17,18 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+
+import java.io.IOException;
+
+import org.apache.poi.poifs.storage.RawDataUtil;
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public final class TestEscherBSERecord extends TestCase {
+public final class TestEscherBSERecord {
+    @Test
     public void testFillFields() {
         String data = "01 00 00 00 24 00 00 00 05 05 01 02 03 04 " +
                 " 05 06 07 08 09 0A 0B 0C 0D 0E 0F 00 01 00 00 00 " +
@@ -43,17 +50,16 @@ public final class TestEscherBSERecord e
         assertEquals( 0, r.getRemainingData().length );
     }
 
-    public void testSerialize() {
+    @Test
+    public void testSerialize() throws IOException {
         EscherBSERecord r = createRecord();
-
+        String exp64 = 
"H4sIAAAAAAAAAGNkYP+gwsDAwMrKyMTMwsrGzsHJxc3Dy8fPwMgAAkxAzAzEICkAgs9OoSwAAAA=";
+        byte[] expected = RawDataUtil.decompress(exp64);
+        
         byte[] data = new byte[8 + 36];
         int bytesWritten = r.serialize( 0, data, new 
NullEscherSerializationListener() );
-        assertEquals( 44, bytesWritten );
-        assertEquals( "[01, 00, 00, 00, 24, 00, 00, 00, 05, 05, 01, 02, 03, 
04, " +
-                "05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 0F, 00, 01, 00, 00, 
00, " +
-                "00, 00, 02, 00, 00, 00, 03, 00, 00, 00, 04, 05, 06, 07]",
-                HexDump.toHex(data));
-
+        assertEquals(data.length, bytesWritten);
+        assertArrayEquals(expected, data);
     }
 
     private EscherBSERecord createRecord() {
@@ -74,26 +80,31 @@ public final class TestEscherBSERecord e
 
     }
 
+    @Test
     public void testToString() {
+        String nl = System.getProperty("line.separator");
         EscherBSERecord record = createRecord();
-        String expected = "org.apache.poi.ddf.EscherBSERecord:" + '\n' +
-                "  RecordId: 0xF007" + '\n' +
-                "  Version: 0x0001" + '\n' +
-                "  Instance: 0x0000" + '\n' +
-                "  BlipTypeWin32: 5" + '\n' +
-                "  BlipTypeMacOS: 5" + '\n' +
-                "  SUID: [01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 
0E, 0F, 00]" + '\n' +
-                "  Tag: 1" + '\n' +
-                "  Size: 0" + '\n' +
-                "  Ref: 2" + '\n' +
-                "  Offset: 3" + '\n' +
-                "  Usage: 4" + '\n' +
-                "  Name: 5" + '\n' +
-                "  Unused2: 6" + '\n' +
-                "  Unused3: 7" + '\n' +
-                "  blipRecord: null" + '\n' +
-                "  Extra Data:" + '\n' +
-                ": 0";
+        String expected =
+            "org.apache.poi.ddf.EscherBSERecord (BSE):" + nl +
+            "  RecordId: 0xF007" + nl +
+            "  Version: 0x0001" + nl +
+            "  Instance: 0x0000" + nl +
+            "  Options: 0x0001" + nl +
+            "  Record Size: 44" + nl +
+            "  BlipTypeWin32: 0x05" + nl +
+            "  BlipTypeMacOS: 0x05" + nl +
+            "  SUID: " + nl +
+            "     00: 01, 02, 03, 04, 05, 06, 07, 08, 09, 0A, 0B, 0C, 0D, 0E, 
0F, 00" + nl +
+            "  Tag: 0x0001" + nl +
+            "  Size: 0x00000000" + nl +
+            "  Ref: 0x00000002" + nl +
+            "  Offset: 0x00000003" + nl +
+            "  Usage: 0x04" + nl +
+            "  Name: 0x05" + nl +
+            "  Unused2: 0x06" + nl +
+            "  Unused3: 0x07" + nl +
+            "  Extra Data: " + nl +
+            "     : 0";                
         String actual = record.toString();
         assertEquals( expected, actual );
     }

Modified: poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBlipRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBlipRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBlipRecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBlipRecord.java Fri 
Jun 30 20:21:33 2017
@@ -18,24 +18,21 @@
 package org.apache.poi.ddf;
 
 import static org.junit.Assert.assertArrayEquals;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
 
 import org.apache.poi.POIDataSamples;
+import org.junit.Test;
 
 /**
  * Test read/serialize of escher blip records
- *
- * @author Yegor Kozlov
- */
-public final class TestEscherBlipRecord extends TestCase {
+*/
+public final class TestEscherBlipRecord {
     private static final POIDataSamples _samples = 
POIDataSamples.getDDFInstance();
 
     //test reading/serializing of a PNG blip
+    @Test
     public void testReadPNG() {
         //provided in bug-44886
         byte[] data = _samples.readFile("Container.dat");
@@ -81,6 +78,7 @@ public final class TestEscherBlipRecord
     }
 
     //test reading/serializing of a PICT metafile
+    @Test
     public void testReadPICT() {
         //provided in bug-44886
         byte[] data = _samples.readFile("Container.dat");
@@ -133,6 +131,7 @@ public final class TestEscherBlipRecord
     }
 
     //integral test: check that the read-write-read round trip is consistent
+    @Test
     public void testContainer() {
         byte[] data = _samples.readFile("Container.dat");
 
@@ -143,21 +142,10 @@ public final class TestEscherBlipRecord
         assertArrayEquals(data, ser);
     }
 
-    private byte[] read(File file) {
-        byte[] data = new byte[(int)file.length()];
-        try {
-            FileInputStream is = new FileInputStream(file);
-            is.read(data);
-            is.close();
-        } catch (IOException e) {
-            throw new RuntimeException(e);
-        }
-        return data;
-    }
-
     /**
      * The test data was created from pl031405.xls attached to Bugzilla #47143
      */
+    @Test
     public void test47143() {
         byte[] data = _samples.readFile("47143.dat");
         EscherBSERecord bse = new EscherBSERecord();

Modified: poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBoolProperty.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBoolProperty.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBoolProperty.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherBoolProperty.java Fri 
Jun 30 20:21:33 2017
@@ -17,9 +17,12 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
 
-public final class TestEscherBoolProperty extends TestCase {
+import org.junit.Test;
+
+public final class TestEscherBoolProperty {
+    @Test
     public void testToString() {
         EscherBoolProperty p = new EscherBoolProperty((short)1, 1);
         assertEquals("propNum: 1, RAW: 0x0001, propName: unknown, complex: 
false, blipId: false, value: 1 (0x00000001)", p.toString());

Modified: 
poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherChildAnchorRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherChildAnchorRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherChildAnchorRecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherChildAnchorRecord.java 
Fri Jun 30 20:21:33 2017
@@ -17,17 +17,20 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public final class TestEscherChildAnchorRecord extends TestCase {
+public final class TestEscherChildAnchorRecord {
+    @Test
     public void testSerialize() {
         EscherChildAnchorRecord r = createRecord();
 
         byte[] data = new byte[8 + 16];
         int bytesWritten = r.serialize( 0, data, new 
NullEscherSerializationListener() );
-        assertEquals( 24, bytesWritten );
+        assertEquals( data.length, bytesWritten );
         assertEquals( "[01, 00, " +
                 "0F, F0, " +
                 "10, 00, 00, 00, " +
@@ -37,6 +40,7 @@ public final class TestEscherChildAnchor
                 "04, 00, 00, 00]", HexDump.toHex( data ) );
     }
 
+    @Test
     public void testFillFields() {
         String hexData = "01 00 " +
                 "0F F0 " +
@@ -58,17 +62,21 @@ public final class TestEscherChildAnchor
         assertEquals( (short) 0x0001, r.getOptions() );
     }
 
+    @Test
     public void testToString(){
         String nl = System.getProperty( "line.separator" );
 
-        String expected = "org.apache.poi.ddf.EscherChildAnchorRecord:" + nl +
-                "  RecordId: 0xF00F" + nl +
-                "  Version: 0x0001" + nl +
-                "  Instance: 0x0000" + nl +
-                "  X1: 1" + nl +
-                "  Y1: 2" + nl +
-                "  X2: 3" + nl +
-                "  Y2: 4" + nl;
+        String expected =
+            "org.apache.poi.ddf.EscherChildAnchorRecord (ChildAnchor):" + nl +
+            "  RecordId: 0xF00F" + nl +
+            "  Version: 0x0001" + nl +
+            "  Instance: 0x0000" + nl +
+            "  Options: 0x0001" + nl +
+            "  Record Size: 24" + nl +
+            "  X1: 0x00000001" + nl +
+            "  Y1: 0x00000002" + nl +
+            "  X2: 0x00000003" + nl +
+            "  Y2: 0x00000004";
         assertEquals( expected, createRecord().toString() );
     }
 

Modified: 
poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherClientAnchorRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherClientAnchorRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- 
poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherClientAnchorRecord.java 
(original)
+++ 
poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherClientAnchorRecord.java 
Fri Jun 30 20:21:33 2017
@@ -17,12 +17,14 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public class TestEscherClientAnchorRecord extends TestCase
-{
+public class TestEscherClientAnchorRecord {
+    @Test
     public void testSerialize() {
         EscherClientAnchorRecord r = createRecord();
 
@@ -38,6 +40,7 @@ public class TestEscherClientAnchorRecor
                 "FF, DD]", HexDump.toHex( data ) );
     }
 
+    @Test
     public void testFillFields() {
         String hexData = "01 00 " +
                 "10 F0 " +
@@ -65,24 +68,27 @@ public class TestEscherClientAnchorRecor
         assertEquals( (byte) 0xDD, r.getRemainingData()[1] );
     }
 
+    @Test
     public void testToString() {
         String nl = System.getProperty("line.separator");
-
-        String expected = "org.apache.poi.ddf.EscherClientAnchorRecord:" + nl +
-                "  RecordId: 0xF010" + nl +
-                "  Version: 0x0001" + nl +
-                "  Instance: 0x0000" + nl +
-                "  Flag: 77" + nl +
-                "  Col1: 55" + nl +
-                "  DX1: 33" + nl +
-                "  Row1: 88" + nl +
-                "  DY1: 11" + nl +
-                "  Col2: 44" + nl +
-                "  DX2: 22" + nl +
-                "  Row2: 99" + nl +
-                "  DY2: 66" + nl +
-                "  Extra Data:" + nl +
-                "00000000 FF DD                                           .." 
+ nl;
+        String expected =
+            "org.apache.poi.ddf.EscherClientAnchorRecord (ClientAnchor):" + nl 
+
+            "  RecordId: 0xF010" + nl +
+            "  Version: 0x0001" + nl +
+            "  Instance: 0x0000" + nl +
+            "  Options: 0x0001" + nl +
+            "  Record Size: 28" + nl +
+            "  Flag: 0x004D" + nl +
+            "  Col1: 0x0037" + nl +
+            "  DX1: 0x0021" + nl +
+            "  Row1: 0x0058" + nl +
+            "  DY1: 0x000B" + nl +
+            "  Col2: 0x002C" + nl +
+            "  DX2: 0x0016" + nl +
+            "  Row2: 0x0063" + nl +
+            "  DY2: 0x0042" + nl +
+            "  Extra Data: " + nl +
+            "     0: FF, DD";
         assertEquals( expected, createRecord().toString() );
     }
 

Modified: 
poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherClientDataRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherClientDataRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherClientDataRecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherClientDataRecord.java 
Fri Jun 30 20:21:33 2017
@@ -17,12 +17,14 @@
  
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public class TestEscherClientDataRecord extends TestCase
-{
+public class TestEscherClientDataRecord {
+    @Test
     public void testSerialize() {
         EscherClientDataRecord r = createRecord();
 
@@ -35,6 +37,7 @@ public class TestEscherClientDataRecord
                 HexDump.toHex( data ) );
     }
 
+    @Test
     public void testFillFields() {
         String hexData = "02 00 " +
                 "11 F0 " +
@@ -48,15 +51,19 @@ public class TestEscherClientDataRecord
         assertEquals( "[]", HexDump.toHex(r.getRemainingData()) );
     }
 
+    @Test
     public void testToString() {
         String nl = System.getProperty("line.separator");
 
-        String expected = "org.apache.poi.ddf.EscherClientDataRecord:" + nl +
-                "  RecordId: 0xF011" + nl +
-                "  Version: 0x0002" + nl +
-                "  Instance: 0x0000" + nl +
-                "  Extra Data:" + nl +
-                "No Data" + nl ;
+        String expected =
+            "org.apache.poi.ddf.EscherClientDataRecord (ClientData):" + nl +
+            "  RecordId: 0xF011" + nl +
+            "  Version: 0x0002" + nl +
+            "  Instance: 0x0000" + nl +
+            "  Options: 0x0002" + nl +
+            "  Record Size: 8" + nl +
+            "  Extra Data: " + nl +
+            "     : 0";
         assertEquals( expected, createRecord().toString() );
     }
 

Modified: 
poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherContainerRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherContainerRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherContainerRecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherContainerRecord.java 
Fri Jun 30 20:21:33 2017
@@ -17,19 +17,24 @@
 
 package org.apache.poi.ddf;
 
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 import java.util.List;
 
-import junit.framework.TestCase;
 import org.apache.poi.POIDataSamples;
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
 /**
  * Tests for {@link EscherContainerRecord}
  */
-public final class TestEscherContainerRecord extends TestCase {
+public final class TestEscherContainerRecord {
     private static final POIDataSamples _samples = 
POIDataSamples.getDDFInstance();
 
+    @Test
        public void testFillFields() {
                EscherRecordFactory f = new DefaultEscherRecordFactory();
                byte[] data = HexRead.readFromString("0F 02 11 F1 00 00 00 00");
@@ -49,6 +54,7 @@ public final class TestEscherContainerRe
                assertEquals((short) 0xF222, c.getRecordId());
        }
 
+    @Test
        public void testSerialize() {
                UnknownEscherRecord r = new UnknownEscherRecord();
                r.setOptions((short) 0x123F);
@@ -69,72 +75,79 @@ public final class TestEscherContainerRe
 
        }
 
+    @Test
        public void testToString() {
                EscherContainerRecord r = new EscherContainerRecord();
                r.setRecordId(EscherContainerRecord.SP_CONTAINER);
                r.setOptions((short) 0x000F);
                String nl = System.getProperty("line.separator");
-               assertEquals("org.apache.poi.ddf.EscherContainerRecord 
(SpContainer):" + nl +
-                               "  isContainer: true" + nl +
-                "  version: 0x000F" + nl +
-                "  instance: 0x0000" + nl +
-                               "  recordId: 0xF004" + nl +
-                               "  numchildren: 0" + nl
-                               , r.toString());
+        String expected =
+            "org.apache.poi.ddf.EscherContainerRecord (SpContainer):" + nl +
+            "  RecordId: 0xF004" + nl +
+            "  Version: 0x000F" + nl +
+            "  Instance: 0x0000" + nl +
+            "  Options: 0x000F" + nl +
+            "  Record Size: 8" + nl +
+            "  isContainer: true" + nl +
+            "  children: 0x00000000";
+               assertEquals(expected, r.toString());
 
                EscherOptRecord r2 = new EscherOptRecord();
                // don't try to shoot in foot, please -- vlsergey
                // r2.setOptions((short) 0x9876);
                r2.setRecordId(EscherOptRecord.RECORD_ID);
 
-               String expected;
                r.addChildRecord(r2);
-               expected = "org.apache.poi.ddf.EscherContainerRecord 
(SpContainer):" + nl +
-                                  "  isContainer: true" + nl +
-                   "  version: 0x000F" + nl +
-                   "  instance: 0x0000" + nl +
-                                  "  recordId: 0xF004" + nl +
-                                  "  numchildren: 1" + nl +
-                                  "  children: " + nl +
-                                  "   Child 0:" + nl +
-                                  "    org.apache.poi.ddf.EscherOptRecord:" + 
nl +
-                                  "      isContainer: false" + nl +
-                   "      version: 0x0003" + nl +
-                   "      instance: 0x0000" + nl +
-                                  "      recordId: 0xF00B" + nl +
-                                  "      numchildren: 0" + nl +
-                                  "      properties:" + nl +
-                                  "    " + nl;
-               assertEquals(expected, r.toString());
+               expected = 
+               "org.apache.poi.ddf.EscherContainerRecord (SpContainer):" + nl +
+               "  RecordId: 0xF004" + nl +
+               "  Version: 0x000F" + nl +
+               "  Instance: 0x0000" + nl +
+               "  Options: 0x000F" + nl +
+               "  Record Size: 16" + nl +
+               "  isContainer: true" + nl +
+               "  children: 0x00000001" + nl +
+               "  Child 0:   org.apache.poi.ddf.EscherOptRecord (Opt):" + nl +
+               "    RecordId: 0xF00B" + nl +
+               "    Version: 0x0003" + nl +
+               "    Instance: 0x0000" + nl +
+               "    Options: 0x0003" + nl +
+               "    Record Size: 8" + nl +
+               "    isContainer: false" + nl +
+               "    numchildren: 0x00000000" + nl +
+               "    properties: 0x00000000";
+        assertEquals(expected, r.toString());
 
                r.addChildRecord(r2);
-               expected = "org.apache.poi.ddf.EscherContainerRecord 
(SpContainer):" + nl +
-                               "  isContainer: true" + nl +
-                "  version: 0x000F" + nl +
-                "  instance: 0x0000" + nl +
-                               "  recordId: 0xF004" + nl +
-                               "  numchildren: 2" + nl +
-                               "  children: " + nl +
-                               "   Child 0:" + nl +
-                               "    org.apache.poi.ddf.EscherOptRecord:" + nl +
-                               "      isContainer: false" + nl +
-                "      version: 0x0003" + nl +
-                "      instance: 0x0000" + nl +
-                               "      recordId: 0xF00B" + nl +
-                               "      numchildren: 0" + nl +
-                               "      properties:" + nl +
-                               "    " + nl +
-                               "   Child 1:" + nl +
-                               "    org.apache.poi.ddf.EscherOptRecord:" + nl +
-                               "      isContainer: false" + nl +
-                "      version: 0x0003" + nl +
-                "      instance: 0x0000" + nl +
-                               "      recordId: 0xF00B" + nl +
-                               "      numchildren: 0" + nl +
-                               "      properties:" + nl +
-                               "    " + nl;
+               expected =
+               "org.apache.poi.ddf.EscherContainerRecord (SpContainer):" + nl +
+               "  RecordId: 0xF004" + nl +
+               "  Version: 0x000F" + nl +
+               "  Instance: 0x0000" + nl +
+               "  Options: 0x000F" + nl +
+               "  Record Size: 24" + nl +
+               "  isContainer: true" + nl +
+               "  children: 0x00000002" + nl +
+               "  Child 0:   org.apache.poi.ddf.EscherOptRecord (Opt):" + nl +
+               "    RecordId: 0xF00B" + nl +
+               "    Version: 0x0003" + nl +
+               "    Instance: 0x0000" + nl +
+               "    Options: 0x0003" + nl +
+               "    Record Size: 8" + nl +
+               "    isContainer: false" + nl +
+               "    numchildren: 0x00000000" + nl +
+               "    properties: 0x00000000" + nl +
+               "  Child 1:   org.apache.poi.ddf.EscherOptRecord (Opt):" + nl +
+               "    RecordId: 0xF00B" + nl +
+               "    Version: 0x0003" + nl +
+               "    Instance: 0x0000" + nl +
+               "    Options: 0x0003" + nl +
+               "    Record Size: 8" + nl +
+               "    isContainer: false" + nl +
+               "    numchildren: 0x00000000" + nl +
+               "    properties: 0x00000000";
                assertEquals(expected, r.toString());
-       }
+    }
 
        private static final class DummyEscherRecord extends EscherRecord {
                public DummyEscherRecord() { }
@@ -146,8 +159,11 @@ public final class TestEscherContainerRe
         public int getRecordSize() { return 10; }
                @Override
         public String getRecordName() { return ""; }
+        @Override
+               protected Object[][] getAttributeMap() { return null; }
        }
 
+    @Test
        public void testGetRecordSize() {
                EscherContainerRecord r = new EscherContainerRecord();
                r.addChildRecord(new DummyEscherRecord());
@@ -158,6 +174,7 @@ public final class TestEscherContainerRe
         * We were having problems with reading too much data on an 
UnknownEscherRecord,
         *  but hopefully we now read the correct size.
         */
+    @Test
        public void testBug44857() throws Exception {
                byte[] data = _samples.readFile("Container.dat");
 
@@ -169,6 +186,7 @@ public final class TestEscherContainerRe
        /**
         * Ensure {@link EscherContainerRecord} doesn't spill its guts 
everywhere
         */
+    @Test
        public void testChildren() {
                EscherContainerRecord ecr = new EscherContainerRecord();
                List<EscherRecord> children0 = ecr.getChildRecords();

Modified: poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherDgRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherDgRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherDgRecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherDgRecord.java Fri Jun 
30 20:21:33 2017
@@ -17,11 +17,14 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public final class TestEscherDgRecord extends TestCase {
+public final class TestEscherDgRecord {
+    @Test
     public void testSerialize() {
         EscherDgRecord r = createRecord();
 
@@ -36,6 +39,7 @@ public final class TestEscherDgRecord ex
                 HexDump.toHex( data ) );
     }
 
+    @Test
     public void testFillFields() {
         String hexData = "10 00 " +
                 "08 F0 " +
@@ -51,13 +55,18 @@ public final class TestEscherDgRecord ex
         assertEquals( 1025, r.getLastMSOSPID() );
     }
 
+    @Test
     public void testToString() {
-        String expected = "org.apache.poi.ddf.EscherDgRecord:" + '\n' +
-                "  RecordId: 0xF008" + '\n' +
-                "  Version: 0x0000" + '\n' +
-                "  Instance: 0x0001" + '\n' +
-                "  NumShapes: 2" + '\n' +
-                "  LastMSOSPID: 1025" + '\n';
+        String nl = System.getProperty("line.separator");
+        String expected =
+            "org.apache.poi.ddf.EscherDgRecord (Dg):" + nl +
+            "  RecordId: 0xF008" + nl +
+            "  Version: 0x0000" + nl +
+            "  Instance: 0x0001" + nl +
+            "  Options: 0x0010" + nl +
+            "  Record Size: 16" + nl +
+            "  NumShapes: 0x00000002" + nl +
+            "  LastMSOSPID: 0x00000401";
         assertEquals( expected, createRecord().toString() );
     }
 

Modified: poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherDggRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherDggRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherDggRecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherDggRecord.java Fri Jun 
30 20:21:33 2017
@@ -17,11 +17,14 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public final class TestEscherDggRecord extends TestCase {
+public final class TestEscherDggRecord {
+    @Test
     public void testSerialize() {
         EscherDggRecord r = createRecord();
 
@@ -39,6 +42,7 @@ public final class TestEscherDggRecord e
                 HexDump.toHex( data ) );
     }
 
+    @Test
     public void testFillFields() {
         String hexData = "00 00 " +
                 "06 F0 " +
@@ -62,17 +66,22 @@ public final class TestEscherDggRecord e
         assertEquals( 0x02, r.getFileIdClusters()[0].getNumShapeIdsUsed());
     }
 
+    @Test
     public void testToString() {
-        String expected = "org.apache.poi.ddf.EscherDggRecord:" + '\n' +
-                "  RecordId: 0xF006" + '\n' +
-                "  Version: 0x0000" + '\n' +
-                "  Instance: 0x0000" + '\n' +
-                "  ShapeIdMax: 1026" + '\n' +
-                "  NumIdClusters: 2" + '\n' +
-                "  NumShapesSaved: 2" + '\n' +
-                "  DrawingsSaved: 1" + '\n' +
-                "  DrawingGroupId1: 1" + '\n' +
-                "  NumShapeIdsUsed1: 2" + '\n';
+        String nl = System.getProperty("line.separator");
+        String expected =
+            "org.apache.poi.ddf.EscherDggRecord (Dgg):" + nl +
+            "  RecordId: 0xF006" + nl +
+            "  Version: 0x0000" + nl +
+            "  Instance: 0x0000" + nl +
+            "  Options: 0x0000" + nl +
+            "  Record Size: 32" + nl +
+            "  ShapeIdMax: 0x00000402" + nl +
+            "  NumIdClusters: 0x00000002" + nl +
+            "  NumShapesSaved: 0x00000002" + nl +
+            "  DrawingsSaved: 0x00000001" + nl +
+            "  FileId Clusters: 0x00000001" + nl +
+            "  Group1: 0x00000002";
         assertEquals( expected, createRecord().toString() );
     }
 
@@ -90,6 +99,7 @@ public final class TestEscherDggRecord e
         return r;
     }
 
+    @Test
     public void testGetRecordSize() {
         EscherDggRecord r = new EscherDggRecord();
         r.setFileIdClusters(new EscherDggRecord.FileIdCluster[] { new 
EscherDggRecord.FileIdCluster(0,0) } );

Modified: poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherOptRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherOptRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherOptRecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherOptRecord.java Fri Jun 
30 20:21:33 2017
@@ -18,13 +18,18 @@
 package org.apache.poi.ddf;
 
 import static org.junit.Assert.assertArrayEquals;
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
 
+import java.io.IOException;
+
+import org.apache.poi.poifs.storage.RawDataUtil;
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public final class TestEscherOptRecord extends TestCase {
+public final class TestEscherOptRecord {
 
+    @Test
     public void testFillFields() {
         checkFillFieldsSimple();
         checkFillFieldsComplex();
@@ -74,6 +79,7 @@ public final class TestEscherOptRecord e
         assertEquals( prop3, r.getEscherProperty( 2 ) );
     }
 
+    @Test
     public void testSerialize() {
         checkSerializeSimple();
         checkSerializeComplex();
@@ -130,6 +136,7 @@ public final class TestEscherOptRecord e
         assertEquals( 26, bytesWritten );
     }
 
+    @Test
     public void testToString() {
         String nl = System.getProperty("line.separator");
         EscherOptRecord r = new EscherOptRecord();
@@ -138,21 +145,25 @@ public final class TestEscherOptRecord e
         r.setRecordId(EscherOptRecord.RECORD_ID);
         EscherProperty prop1 = new EscherBoolProperty((short)1, 1);
         r.addEscherProperty(prop1);
-        String expected = "org.apache.poi.ddf.EscherOptRecord:" + nl +
-                "  isContainer: false" + nl +
-                "  version: 0x0003" + nl +
-                "  instance: 0x0001" + nl +
-                "  recordId: 0x" + HexDump.toHex(EscherOptRecord.RECORD_ID) + 
nl +
-                "  numchildren: 0" + nl +
-                "  properties:" + nl +
-                "    propNum: 1, RAW: 0x0001, propName: unknown, complex: 
false, blipId: false, value: 1 (0x00000001)" + nl;
+        String expected =
+            "org.apache.poi.ddf.EscherOptRecord (Opt):" + nl +
+            "  RecordId: 0xF00B" + nl +
+            "  Version: 0x0003" + nl +
+            "  Instance: 0x0001" + nl +
+            "  Options: 0x0013" + nl +
+            "  Record Size: 14" + nl +
+            "  isContainer: false" + nl +
+            "  numchildren: 0x00000000" + nl +
+            "  properties: 0x00000001" + nl +
+            "  unknown:   propNum: 1, RAW: 0x0001, propName: unknown, complex: 
false, blipId: false, value: 1 (0x00000001)";
         assertEquals( expected, r.toString());
     }
 
     /**
-     * Test serialisation of a particually complex example
+     * Test serialization of a particularly complex example
      * This test is currently broken!
      */
+    @Test
     public void testComplexSerialise() {
        byte[] data = {
                0x53, 0x01, 0x0B, 0xF0-256, 0x9C-256, 0x01, 0x00, 0x00,
@@ -233,15 +244,13 @@ public final class TestEscherOptRecord e
         assertEquals(data.length, filled);
         assertEquals(data.length, r.getRecordSize());
 
-        // Serialise it
+        // Serialize it
         byte[] dest = new byte[data.length];
         int written = r.serialize(0, dest);
 
         // Check it serialised it back to the same data
         assertEquals(data.length, written);
-        for(int i=0; i<data.length; i++) {
-               assertEquals(data[i], dest[i]);
-        }
+        assertArrayEquals(data, dest);
     }
 
     /**
@@ -254,43 +263,20 @@ public final class TestEscherOptRecord e
      *
      * See Bug 41946 for details.
      */
-    public void test41946() {
-        String dataStr1 =
-                "03 08 0B F0 00 03 00 00 81 00 30 65 01 00 82 00 98 B2 00 00 
83 00 30 65 01 " +
-                "00 84 00 98 B2 00 00 85 00 00 00 00 00 87 00 01 00 00 00 88 
00 00 00 00 00 " +
-                "89 00 00 00 00 00 BF 00 00 00 0F 00 0C 01 F4 00 00 10 0D 01 
00 00 00 20 0E " +
-                "01 00 00 00 20 80 01 00 00 00 00 81 01 04 00 00 08 82 01 00 
00 01 00 83 01 " +
-                "00 00 00 08 84 01 00 00 01 00 85 01 00 00 00 20 86 41 00 00 
00 00 87 C1 00 " +
-                "00 00 00 88 01 00 00 00 00 89 01 00 00 00 00 8A 01 00 00 00 
00 8B 01 00 00 " +
-                "00 00 8C 01 00 00 00 00 8D 01 00 00 00 00 8E 01 00 00 00 00 
8F 01 00 00 00 " +
-                "00 90 01 00 00 00 00 91 01 00 00 00 00 92 01 00 00 00 00 93 
01 00 00 00 00 " +
-                "94 01 00 00 00 00 95 01 00 00 00 00 96 01 00 00 00 00 97 C1 
00 00 00 00 98 " +
-                "01 00 00 00 00 99 01 00 00 00 00 9A 01 00 00 00 00 9B 01 00 
00 00 00 9C 01 " +
-                "03 00 00 40 BF 01 0C 00 1E 00 C0 01 01 00 00 08 C1 01 00 00 
01 00 C2 01 FF " +
-                "FF FF 00 C3 01 00 00 00 20 C4 01 00 00 00 00 C5 41 00 00 00 
00 C6 C1 00 00 " +
-                "00 00 C7 01 00 00 00 00 C8 01 00 00 00 00 C9 01 00 00 00 00 
CA 01 00 00 00 " +
-                "00 CB 01 35 25 00 00 CC 01 00 00 08 00 CD 01 00 00 00 00 CE 
01 00 00 00 00 " +
-                "CF C1 00 00 00 00 D7 01 02 00 00 00 FF 01 06 00 0E 00 00 02 
00 00 00 00 01 " +
-                "02 02 00 00 08 02 02 CB CB CB 00 03 02 00 00 00 20 04 02 00 
00 01 00 05 02 " +
-                "38 63 00 00 06 02 38 63 00 00 07 02 00 00 00 00 08 02 00 00 
00 00 09 02 00 " +
-                "00 01 00 0A 02 00 00 00 00 0B 02 00 00 00 00 0C 02 00 00 01 
00 0D 02 00 00 " +
-                "00 00 0E 02 00 00 00 00 0F 02 00 01 00 00 10 02 00 00 00 00 
11 02 00 00 00 " +
-                "00 3F 02 00 00 03 00 80 02 00 00 00 00 81 02 00 00 01 00 82 
02 05 00 00 00 " +
-                "83 02 9C 31 00 00 84 02 00 00 00 00 85 02 F0 F9 06 00 86 02 
00 00 00 00 87 " +
-                "02 F7 00 00 10 88 02 00 00 00 20 BF 02 01 00 0F 00 C0 02 00 
00 00 00 C1 02 " +
-                "00 00 00 00 C2 02 64 00 00 00 C3 02 00 00 00 00 C4 02 00 00 
00 00 C5 02 00 " +
-                "00 00 00 C6 02 00 00 00 00 C7 02 00 00 00 00 C8 02 00 00 00 
00 C9 02 00 00 " +
-                "00 00 CA 02 30 75 00 00 CB 02 D0 12 13 00 CC 02 30 ED EC FF 
CD 02 40 54 89 " +
-                "00 CE 02 00 80 00 00 CF 02 00 80 FF FF D0 02 00 00 79 FF D1 
02 32 00 00 00 " +
-                "D2 02 20 4E 00 00 D3 02 50 C3 00 00 D4 02 00 00 00 00 D5 02 
10 27 00 00 D6 " +
-                "02 70 94 00 00 D7 02 B0 3C FF FF D8 02 00 00 00 00 D9 02 10 
27 00 00 DA 02 " +
-                "70 94 00 00 FF 02 16 00 1F 00 04 03 01 00 00 00 41 03 A8 29 
01 00 42 03 00 " +
-                "00 00 00 43 03 03 00 00 00 44 03 7C BE 01 00 45 03 00 00 00 
00 7F 03 00 00 " +
-                "0F 00 84 03 7C BE 01 00 85 03 00 00 00 00 86 03 7C BE 01 00 
87 03 00 00 00 " +
-                "00";
+    @Test
+    public void test41946() throws IOException {
+        String data64 =
+            
"H4sIAAAAAAAAAB3SuW5TQRjF8TPfOOZCHMeARAluEKIzSEgUSCQsLaLgDYCehgIJCe8L+xIgQB6"+
+            
"AEvEAOI6zOwlhX54BpBRIiGqY+Vvy7x6d+3k8nmufje/ISzVVrjrVNftWapCb5JbSqyMX7ZJ72I"+
+            
"/vSRXcH6k0kW6Wi1hNquZyUlaP2amRmqxJbjHTnmbNQbLLfA9v4x28i/fwPj7Ah/gIH+MTnMGn+"+
+            
"Ayfs/4s+QW+xFc45+KPnuq7gg5q3sUqG7DDBRdC0JB9LjK5xG6XWW2FZhXXcB1H7sRhaSMto02a"+
+            
"LXzPp745iwaXV1FKUc7iJTMbjUbyqSnnLH37mJ28LOVxF5MZ7ubuHvI4FmgmyEWctPSQSuS9eDr"+
+            
"qVSXXmK/bWMwNmzsmNelbtvMvrza5Y3/jAl320zcXn+88/QAX7Ep0SF7EJVzGFVzFNVy3yvV4Mr"+
+            
"a9b782rPL7V9i0qUs9bZmq8WSiIWzHyRvhgx2P8x+tfEH6ZBeH0mdW+GKlI9JXuzYTz9DenArhO"+
+            
"/0P+p/0wQ7okHI+Hfe0f33U6YxPM2d9upzzN985nae55dM/tknTommTO+T/V9IPpAgDAAA=";
 
         EscherOptRecord r = new EscherOptRecord();
-        byte[] data = HexRead.readFromString( dataStr1 );
+        byte[] data = RawDataUtil.decompress(data64);
         r.fillFields( data, 0, new DefaultEscherRecordFactory() );
         assertEquals( (short) 0xF00B, r.getRecordId() );
 
@@ -306,6 +292,7 @@ public final class TestEscherOptRecord e
      * Test that EscherOptRecord can properly read/write array properties
      * with empty complex part.
      */
+    @Test
     public void testEmptyArrayProperty() {
         EscherOptRecord r = new EscherOptRecord();
         EscherArrayProperty p = new 
EscherArrayProperty((short)(EscherProperties.FILL__SHADECOLORS + 0x8000), new 
byte[0] );

Modified: poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherProperty.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherProperty.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherProperty.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherProperty.java Fri Jun 
30 20:21:33 2017
@@ -17,18 +17,19 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
 
+import org.junit.Test;
 
-/**
- * @author Yegor Kozlov
- */
-public class TestEscherProperty extends TestCase
-{
+
+public class TestEscherProperty {
     /**
      * assure that EscherProperty.getName() returns correct name for complex 
properties
      * See Bugzilla 50401 
      */
+    @Test
     public void testPropertyNames() throws Exception {
         EscherProperty p1 = new EscherSimpleProperty( 
EscherProperties.GROUPSHAPE__SHAPENAME, 0);
         assertEquals("groupshape.shapename", p1.getName());

Modified: poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSpRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSpRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSpRecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSpRecord.java Fri Jun 
30 20:21:33 2017
@@ -17,12 +17,14 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public class TestEscherSpRecord extends TestCase
-{
+public class TestEscherSpRecord {
+    @Test
     public void testSerialize() {
         EscherSpRecord r = createRecord();
 
@@ -37,6 +39,7 @@ public class TestEscherSpRecord extends
                 HexDump.toHex( data ) );
     }
 
+    @Test
     public void testFillFields() {
         String hexData = "02 00 " +
                 "0A F0 " +
@@ -52,15 +55,20 @@ public class TestEscherSpRecord extends
         assertEquals( 0x05, r.getFlags() );
     }
 
+    @Test
     public void testToString() {
         String nl = System.getProperty("line.separator");
 
-        String expected = "org.apache.poi.ddf.EscherSpRecord:" + nl +
-                "  RecordId: 0xF00A" + nl +
-                "  Version: 0x0002" + nl +
-                "  ShapeType: 0x0000" + nl +
-                "  ShapeId: 1024" + nl +
-                "  Flags: GROUP|PATRIARCH (0x00000005)" + nl;
+        String expected =
+            "org.apache.poi.ddf.EscherSpRecord (Sp):" + nl +
+            "  RecordId: 0xF00A" + nl +
+            "  Version: 0x0002" + nl +
+            "  Instance: 0x0000" + nl +
+            "  Options: 0x0002" + nl +
+            "  Record Size: 16" + nl +
+            "  ShapeType: 0x0000" + nl +
+            "  ShapeId: 0x00000400" + nl +
+            "  Flags: GROUP|PATRIARCH (0x00000005)";
         assertEquals( expected, createRecord().toString() );
     }
 

Modified: poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSpgrRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSpgrRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSpgrRecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSpgrRecord.java Fri 
Jun 30 20:21:33 2017
@@ -17,11 +17,14 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public final class TestEscherSpgrRecord extends TestCase {
+public final class TestEscherSpgrRecord {
+    @Test
     public void testSerialize() {
         EscherSpgrRecord r = createRecord();
 
@@ -38,6 +41,7 @@ public final class TestEscherSpgrRecord
                 HexDump.toHex( data ) );
     }
 
+    @Test
     public void testFillFields() {
         String hexData = "10 00 " +
                 "09 F0 " +
@@ -57,16 +61,20 @@ public final class TestEscherSpgrRecord
         assertEquals( 4, r.getRectY2() );
     }
 
+    @Test
     public void testToString() {
-
-        String expected = "org.apache.poi.ddf.EscherSpgrRecord:" + '\n' +
-                "  RecordId: 0xF009" + '\n' +
-                "  Version: 0x0000" + '\n' +
-                "  Instance: 0x0001" + '\n' +
-                "  RectX: 1" + '\n' +
-                "  RectY: 2" + '\n' +
-                "  RectWidth: 3" + '\n' +
-                "  RectHeight: 4" + '\n';
+        String nl = System.getProperty("line.separator");
+        String expected =
+            "org.apache.poi.ddf.EscherSpgrRecord (Spgr):" + nl +
+            "  RecordId: 0xF009" + nl +
+            "  Version: 0x0000" + nl +
+            "  Instance: 0x0001" + nl +
+            "  Options: 0x0010" + nl +
+            "  Record Size: 24" + nl +
+            "  RectX: 0x00000001" + nl +
+            "  RectY: 0x00000002" + nl +
+            "  RectWidth: 0x00000003" + nl +
+            "  RectHeight: 0x00000004";
         assertEquals( expected, createRecord().toString() );
     }
 

Modified: 
poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSplitMenuColorsRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSplitMenuColorsRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- 
poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSplitMenuColorsRecord.java 
(original)
+++ 
poi/trunk/src/testcases/org/apache/poi/ddf/TestEscherSplitMenuColorsRecord.java 
Fri Jun 30 20:21:33 2017
@@ -17,11 +17,14 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
+import static org.junit.Assert.assertEquals;
+
 import org.apache.poi.util.HexDump;
 import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public final class TestEscherSplitMenuColorsRecord extends TestCase {
+public final class TestEscherSplitMenuColorsRecord {
+    @Test
     public void testSerialize() {
         EscherSplitMenuColorsRecord r = createRecord();
 
@@ -38,6 +41,7 @@ public final class TestEscherSplitMenuCo
                 HexDump.toHex( data ) );
     }
 
+    @Test
     public void testFillFields() {
         String hexData = "40 00 " +
                 "1E F1 " +
@@ -57,16 +61,20 @@ public final class TestEscherSplitMenuCo
         assertEquals( 0x01, r.getColor4() );
     }
 
+    @Test
     public void testToString() {
-        String expected = "org.apache.poi.ddf.EscherSplitMenuColorsRecord:" + 
'\n' +
-                "  RecordId: 0xF11E" + '\n' +
-                "  Version: 0x0000" + '\n' +
-                "  Instance: 0x0004" + '\n' +
-                "  Color1: 0x00000402" + '\n' +
-                "  Color2: 0x00000002" + '\n' +
-                "  Color3: 0x00000002" + '\n' +
-                "  Color4: 0x00000001" + '\n' +
-                "";
+        String nl = System.getProperty("line.separator");
+        String expected =
+            "org.apache.poi.ddf.EscherSplitMenuColorsRecord 
(SplitMenuColors):" + nl +
+            "  RecordId: 0xF11E" + nl +
+            "  Version: 0x0000" + nl +
+            "  Instance: 0x0004" + nl +
+            "  Options: 0x0040" + nl +
+            "  Record Size: 24" + nl +
+            "  Color1: 0x00000402" + nl +
+            "  Color2: 0x00000002" + nl +
+            "  Color3: 0x00000002" + nl +
+            "  Color4: 0x00000001";
         assertEquals( expected, createRecord().toString() );
     }
 

Modified: 
poi/trunk/src/testcases/org/apache/poi/ddf/TestUnknownEscherRecord.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/testcases/org/apache/poi/ddf/TestUnknownEscherRecord.java?rev=1800452&r1=1800451&r2=1800452&view=diff
==============================================================================
--- poi/trunk/src/testcases/org/apache/poi/ddf/TestUnknownEscherRecord.java 
(original)
+++ poi/trunk/src/testcases/org/apache/poi/ddf/TestUnknownEscherRecord.java Fri 
Jun 30 20:21:33 2017
@@ -17,11 +17,16 @@
 
 package org.apache.poi.ddf;
 
-import junit.framework.TestCase;
-import org.apache.poi.util.HexRead;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+
 import org.apache.poi.util.HexDump;
+import org.apache.poi.util.HexRead;
+import org.junit.Test;
 
-public final class TestUnknownEscherRecord extends TestCase {
+public final class TestUnknownEscherRecord {
+    @Test
     public void testFillFields() {
         String testData =
                 "0F 02 " + // options
@@ -117,6 +122,7 @@ public final class TestUnknownEscherReco
            assertEquals( (short) 0xFFFF, r.getChild( 0 ).getRecordId() );
     }
 
+    @Test
     public void testSerialize() {
         UnknownEscherRecord r = new UnknownEscherRecord();
         r.setOptions( (short) 0x1234 );
@@ -137,20 +143,27 @@ public final class TestUnknownEscherReco
         assertEquals( "[3F, 12, 12, F1, 08, 00, 00, 00, 99, 99, 01, FF, 00, 
00, 00, 00]", HexDump.toHex( data ) );
     }
 
+    @Test
     public void testToString() {
         UnknownEscherRecord r = new UnknownEscherRecord();
         r.setOptions( (short) 0x1234 );
         r.setRecordId( (short) 0xF112 );
         byte[] data = new byte[8];
         r.serialize( 0, data, new NullEscherSerializationListener() );
-
-        assertEquals( "org.apache.poi.ddf.UnknownEscherRecord:" + '\n' +
-                "  isContainer: false" + '\n' +
-                "  version: 0x0004" + '\n' +
-                "  instance: 0x0123" + '\n' +
-                "  recordId: 0xF112" + '\n' +
-                "  numchildren: 0" + '\n' +
-                ": 0"
-                , r.toString() );
+        String nl = System.getProperty("line.separator");
+        String expected =
+            "org.apache.poi.ddf.UnknownEscherRecord (Unknown 0xF112):" + nl +
+            "  RecordId: 0xF112" + nl +
+            "  Version: 0x0004" + nl +
+            "  Instance: 0x0123" + nl +
+            "  Options: 0x1234" + nl +
+            "  Record Size: 8" + nl +
+            "  isContainer: false" + nl +
+            "  children: 0x00000000" + nl +
+            "  Extra Data: " + nl +
+            "     : 0";
+        
+        
+        assertEquals(expected, r.toString() );
     }
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to