sonar fixes

git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1894393 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Andreas Beeker 2021-10-19 21:20:40 +00:00
parent f4726ede1f
commit 40888e08cd
18 changed files with 872 additions and 910 deletions

View File

@ -22,7 +22,6 @@ import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.poi.POIDataSamples;
@ -33,35 +32,13 @@ import org.apache.poi.hpsf.PropertySetFactory;
import org.apache.poi.hpsf.Section;
import org.apache.poi.hpsf.SummaryInformation;
import org.apache.poi.util.CodePageUtil;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
/**
* Tests whether Unicode string can be read from a DocumentSummaryInformation.
*/
class TestUnicode {
static final String POI_FS = "TestUnicode.xls";
static final String[] POI_FILES = {
DocumentSummaryInformation.DEFAULT_STREAM_NAME,
};
File data;
POIFile[] poiFiles;
/**
* Read a the test file from the "data" directory.
*
* @exception FileNotFoundException if the file to be read does not exist.
* @exception IOException if any other I/O exception occurs
*/
@BeforeEach
void setUp() {
POIDataSamples samples = POIDataSamples.getHPSFInstance();
data = samples.getFile(POI_FS);
}
private static final POIDataSamples samples = POIDataSamples.getHPSFInstance();
/**
* Tests the {@link PropertySet} methods. The test file has two
@ -73,16 +50,21 @@ class TestUnicode {
*/
@Test
void testPropertySetMethods() throws IOException, HPSFException {
final String POI_FS = "TestUnicode.xls";
final String[] POI_FILES = { DocumentSummaryInformation.DEFAULT_STREAM_NAME };
File data = samples.getFile(POI_FS);
POIFile poiFile = Util.readPOIFiles(data, POI_FILES).get(0);
byte[] b = poiFile.getBytes();
PropertySet ps = PropertySetFactory.create(new ByteArrayInputStream(b));
assertTrue(ps.isDocumentSummaryInformation());
assertEquals(ps.getSectionCount(), 2);
assertEquals(2, ps.getSectionCount());
Section s = ps.getSections().get(1);
assertEquals(s.getProperty(1), CodePageUtil.CP_UTF16);
assertEquals(s.getProperty(2), -96070278);
assertEquals(s.getProperty(3), "MCon_Info zu Office bei Schreiner");
assertEquals(s.getProperty(4), "petrovitsch@schreiner-online.de");
assertEquals(s.getProperty(5), "Petrovitsch, Wilhelm");
assertEquals(CodePageUtil.CP_UTF16, s.getProperty(1));
assertEquals(-96070278, s.getProperty(2));
assertEquals("MCon_Info zu Office bei Schreiner", s.getProperty(3));
assertEquals("petrovitsch@schreiner-online.de", s.getProperty(4));
assertEquals("Petrovitsch, Wilhelm", s.getProperty(5));
}
}

View File

@ -19,7 +19,6 @@
package org.apache.poi.hpsf.basic;
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
import static org.junit.jupiter.api.Assertions.fail;
import java.io.File;
import java.io.FileNotFoundException;
@ -65,13 +64,14 @@ final class Util {
static List<POIFile> readPOIFiles(final File poiFs, final String... poiFiles) throws IOException {
final List<POIFile> files = new ArrayList<>();
POIFSReader r = new POIFSReader();
POIFSReaderListener pfl = event -> assertDoesNotThrow(() -> {
final POIFile f = new POIFile();
f.setName(event.getName());
f.setPath(event.getPath());
final InputStream in = event.getStream();
f.setBytes(IOUtils.toByteArray(in));
in.close();
try (final InputStream in = event.getStream()) {
f.setBytes(IOUtils.toByteArray(in));
}
files.add(f);
});
if (poiFiles.length == 0) {
@ -89,8 +89,6 @@ final class Util {
return files;
}
/**
* <p>Read all files from a POI filesystem which are property set streams
* and returns them as an array of {@link org.apache.poi.hpsf.PropertySet}

View File

@ -65,7 +65,7 @@ final class TestEventRecordFactory {
ERFListener listener = rec -> {
wascalled[0] = true;
assertEquals(rec.getSid(), BOFRecord.sid, "must be BOFRecord got SID=" + rec.getSid());
assertEquals(BOFRecord.sid, rec.getSid(), "must be BOFRecord got SID=" + rec.getSid());
return true;
};
EventRecordFactory factory = new EventRecordFactory(listener, new short[] {BOFRecord.sid});

View File

@ -266,16 +266,16 @@ class TestDrawingAggregate {
sh.getDrawingPatriarch();
EscherAggregate agg = (EscherAggregate) ish.findFirstRecordBySid(EscherAggregate.sid);
assertNotNull(agg);
assertEquals(agg.getEscherRecords().get(0).getChildRecords().size(), 3);
assertEquals(agg.getEscherRecords().get(0).getChild(2).getRecordId(), EscherContainerRecord.SOLVER_CONTAINER);
assertEquals(3, agg.getEscherRecords().get(0).getChildRecords().size());
assertEquals(EscherContainerRecord.SOLVER_CONTAINER, agg.getEscherRecords().get(0).getChild(2).getRecordId());
try (HSSFWorkbook wb2 = HSSFTestDataSamples.writeOutAndReadBack(wb1)) {
sh = wb2.getSheetAt(0);
sh.getDrawingPatriarch();
ish = HSSFTestHelper.getSheetForTest(sh);
agg = (EscherAggregate) ish.findFirstRecordBySid(EscherAggregate.sid);
assertNotNull(agg);
assertEquals(agg.getEscherRecords().get(0).getChildRecords().size(), 3);
assertEquals(agg.getEscherRecords().get(0).getChild(2).getRecordId(), EscherContainerRecord.SOLVER_CONTAINER);
assertEquals(3, agg.getEscherRecords().get(0).getChildRecords().size());
assertEquals(EscherContainerRecord.SOLVER_CONTAINER, agg.getEscherRecords().get(0).getChild(2).getRecordId());
// collect drawing records into a byte buffer.

View File

@ -22,6 +22,7 @@ import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertThrows;
import static org.junit.jupiter.api.Assertions.assertTrue;
import static org.junit.jupiter.api.Assertions.fail;
@ -60,7 +61,7 @@ import org.junit.jupiter.api.Test;
final class TestFormulaParser {
/**
* @return parsed token array already confirmed not <code>null</code>
* @return parsed token array already confirmed not {@code null}
*/
/* package */ static Ptg[] parseFormula(String formula) {
Ptg[] result = HSSFFormulaParser.parse(formula, null);
@ -289,11 +290,11 @@ final class TestFormulaParser {
void testLookupAndMatchFunctionArgs() {
Ptg[] ptgs = parseFormula("lookup(A1, A3:A52, B3:B52)");
confirmTokenClasses(ptgs, RefPtg.class, AreaPtg.class, AreaPtg.class, FuncVarPtg.class);
assertEquals(ptgs[0].getPtgClass(), Ptg.CLASS_VALUE, "ptg0 has Value class");
assertEquals(Ptg.CLASS_VALUE, ptgs[0].getPtgClass(), "ptg0 has Value class");
ptgs = parseFormula("match(A1, A3:A52)");
confirmTokenClasses(ptgs, RefPtg.class, AreaPtg.class, FuncVarPtg.class);
assertEquals(ptgs[0].getPtgClass(), Ptg.CLASS_VALUE, "ptg0 has Value class");
assertEquals(Ptg.CLASS_VALUE, ptgs[0].getPtgClass(), "ptg0 has Value class");
}
/** bug 33160*/
@ -656,7 +657,7 @@ final class TestFormulaParser {
private static void confirmTokenClasses(Ptg[] ptgs, Class<?>...expectedClasses) {
assertEquals(expectedClasses.length, ptgs.length);
for (int i = 0; i < expectedClasses.length; i++) {
assertEquals(expectedClasses[i], ptgs[i].getClass(),
assertSame(expectedClasses[i], ptgs[i].getClass(),
"difference at token[" + i + "]: expected ("
+ expectedClasses[i].getName() + ") but got ("
+ ptgs[i].getClass().getName() + ")");
@ -672,7 +673,7 @@ final class TestFormulaParser {
Ptg[] ptgs = parseFormula(formula);
assertEquals(1, ptgs.length);
Ptg result = ptgs[0];
assertEquals(ptgClass, result.getClass());
assertSame(ptgClass, result.getClass());
return result;
}
@ -1017,7 +1018,7 @@ final class TestFormulaParser {
Object element = ((ArrayPtg)ptgs[0]).getTokenArrayValues()[0][0];
// this would cause ClassCastException below
assertFalse(element instanceof UnicodeString, "Wrong encoding of array element value");
assertEquals(String.class, element.getClass());
assertSame(String.class, element.getClass());
// make sure the formula encodes OK
int encSize = Ptg.getEncodedSize(ptgs);

View File

@ -17,17 +17,23 @@
package org.apache.poi.hssf.model;
import static org.apache.poi.hssf.usermodel.HSSFTestHelper.getEscherContainer;
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertNotEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNotSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import java.io.IOException;
import org.apache.poi.ddf.EscherChildAnchorRecord;
import org.apache.poi.ddf.EscherClientAnchorRecord;
import org.apache.poi.ddf.EscherClientDataRecord;
import org.apache.poi.ddf.EscherContainerRecord;
import org.apache.poi.ddf.EscherOptRecord;
import org.apache.poi.ddf.EscherRecord;
import org.apache.poi.ddf.EscherSpRecord;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.usermodel.HSSFAnchor;
@ -46,59 +52,61 @@ class TestHSSFAnchor {
@Test
void testDefaultValues(){
HSSFClientAnchor clientAnchor = new HSSFClientAnchor();
assertEquals(clientAnchor.getAnchorType(), AnchorType.MOVE_AND_RESIZE);
assertEquals(clientAnchor.getCol1(), 0);
assertEquals(clientAnchor.getCol2(), 0);
assertEquals(clientAnchor.getDx1(), 0);
assertEquals(clientAnchor.getDx2(), 0);
assertEquals(clientAnchor.getDy1(), 0);
assertEquals(clientAnchor.getDy2(), 0);
assertEquals(clientAnchor.getRow1(), 0);
assertEquals(clientAnchor.getRow2(), 0);
assertEquals(AnchorType.MOVE_AND_RESIZE, clientAnchor.getAnchorType());
assertEquals(0, clientAnchor.getCol1());
assertEquals(0, clientAnchor.getCol2());
assertEquals(0, clientAnchor.getDx1());
assertEquals(0, clientAnchor.getDx2());
assertEquals(0, clientAnchor.getDy1());
assertEquals(0, clientAnchor.getDy2());
assertEquals(0, clientAnchor.getRow1());
assertEquals(0, clientAnchor.getRow2());
clientAnchor = new HSSFClientAnchor(new EscherClientAnchorRecord());
assertEquals(clientAnchor.getAnchorType(), AnchorType.MOVE_AND_RESIZE);
assertEquals(clientAnchor.getCol1(), 0);
assertEquals(clientAnchor.getCol2(), 0);
assertEquals(clientAnchor.getDx1(), 0);
assertEquals(clientAnchor.getDx2(), 0);
assertEquals(clientAnchor.getDy1(), 0);
assertEquals(clientAnchor.getDy2(), 0);
assertEquals(clientAnchor.getRow1(), 0);
assertEquals(clientAnchor.getRow2(), 0);
assertEquals(AnchorType.MOVE_AND_RESIZE, clientAnchor.getAnchorType());
assertEquals(0, clientAnchor.getCol1());
assertEquals(0, clientAnchor.getCol2());
assertEquals(0, clientAnchor.getDx1());
assertEquals(0, clientAnchor.getDx2());
assertEquals(0, clientAnchor.getDy1());
assertEquals(0, clientAnchor.getDy2());
assertEquals(0, clientAnchor.getRow1());
assertEquals(0, clientAnchor.getRow2());
HSSFChildAnchor childAnchor = new HSSFChildAnchor();
assertEquals(childAnchor.getDx1(), 0);
assertEquals(childAnchor.getDx2(), 0);
assertEquals(childAnchor.getDy1(), 0);
assertEquals(childAnchor.getDy2(), 0);
assertEquals(0, childAnchor.getDx1());
assertEquals(0, childAnchor.getDx2());
assertEquals(0, childAnchor.getDy1());
assertEquals(0, childAnchor.getDy2());
childAnchor = new HSSFChildAnchor(new EscherChildAnchorRecord());
assertEquals(childAnchor.getDx1(), 0);
assertEquals(childAnchor.getDx2(), 0);
assertEquals(childAnchor.getDy1(), 0);
assertEquals(childAnchor.getDy2(), 0);
assertEquals(0, childAnchor.getDx1());
assertEquals(0, childAnchor.getDx2());
assertEquals(0, childAnchor.getDy1());
assertEquals(0, childAnchor.getDy2());
}
@Test
void testCorrectOrderInSpContainer(){
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("drawings.xls");
HSSFSheet sheet = wb.getSheet("pictures");
HSSFPatriarch drawing = sheet.getDrawingPatriarch();
void testCorrectOrderInSpContainer() throws IOException {
int[] expIds = {
EscherSpRecord.RECORD_ID,
EscherOptRecord.RECORD_ID,
EscherClientAnchorRecord.RECORD_ID,
EscherClientDataRecord.RECORD_ID
};
HSSFSimpleShape rectangle = (HSSFSimpleShape) drawing.getChildren().get(0);
try (HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("drawings.xls")) {
HSSFSheet sheet = wb.getSheet("pictures");
HSSFPatriarch drawing = sheet.getDrawingPatriarch();
assertEquals(HSSFTestHelper.getEscherContainer(rectangle).getChild(0).getRecordId(), EscherSpRecord.RECORD_ID);
assertEquals(HSSFTestHelper.getEscherContainer(rectangle).getChild(1).getRecordId(), EscherOptRecord.RECORD_ID);
assertEquals(HSSFTestHelper.getEscherContainer(rectangle).getChild(2).getRecordId(), EscherClientAnchorRecord.RECORD_ID);
assertEquals(HSSFTestHelper.getEscherContainer(rectangle).getChild(3).getRecordId(), EscherClientDataRecord.RECORD_ID);
HSSFSimpleShape rectangle = (HSSFSimpleShape) drawing.getChildren().get(0);
int[] act1Ids = getEscherContainer(rectangle).getChildRecords().stream().mapToInt(EscherRecord::getRecordId).toArray();
assertArrayEquals(expIds, act1Ids);
rectangle.setAnchor(new HSSFClientAnchor());
assertEquals(HSSFTestHelper.getEscherContainer(rectangle).getChild(0).getRecordId(), EscherSpRecord.RECORD_ID);
assertEquals(HSSFTestHelper.getEscherContainer(rectangle).getChild(1).getRecordId(), EscherOptRecord.RECORD_ID);
assertEquals(HSSFTestHelper.getEscherContainer(rectangle).getChild(2).getRecordId(), EscherClientAnchorRecord.RECORD_ID);
assertEquals(HSSFTestHelper.getEscherContainer(rectangle).getChild(3).getRecordId(), EscherClientDataRecord.RECORD_ID);
rectangle.setAnchor(new HSSFClientAnchor());
int[] act2Ids = getEscherContainer(rectangle).getChildRecords().stream().mapToInt(EscherRecord::getRecordId).toArray();
assertArrayEquals(expIds, act2Ids);
}
}
@Test
@ -118,22 +126,22 @@ class TestHSSFAnchor {
HSSFClientAnchor anchor = (HSSFClientAnchor) HSSFAnchor.createAnchorFromEscher(container);
assertNotNull(anchor);
assertEquals(anchor.getCol1(), 11);
assertEquals(escher.getCol1(), 11);
assertEquals(anchor.getCol2(), 12);
assertEquals(escher.getCol2(), 12);
assertEquals(anchor.getRow1(), 13);
assertEquals(escher.getRow1(), 13);
assertEquals(anchor.getRow2(), 14);
assertEquals(escher.getRow2(), 14);
assertEquals(anchor.getDx1(), 15);
assertEquals(escher.getDx1(), 15);
assertEquals(anchor.getDx2(), 16);
assertEquals(escher.getDx2(), 16);
assertEquals(anchor.getDy1(), 17);
assertEquals(escher.getDy1(), 17);
assertEquals(anchor.getDy2(), 18);
assertEquals(escher.getDy2(), 18);
assertEquals(11, anchor.getCol1());
assertEquals(11, escher.getCol1());
assertEquals(12, anchor.getCol2());
assertEquals(12, escher.getCol2());
assertEquals(13, anchor.getRow1());
assertEquals(13, escher.getRow1());
assertEquals(14, anchor.getRow2());
assertEquals(14, escher.getRow2());
assertEquals(15, anchor.getDx1());
assertEquals(15, escher.getDx1());
assertEquals(16, anchor.getDx2());
assertEquals(16, escher.getDx2());
assertEquals(17, anchor.getDy1());
assertEquals(17, escher.getDy1());
assertEquals(18, anchor.getDy2());
assertEquals(18, escher.getDy2());
}
@Test
@ -148,14 +156,14 @@ class TestHSSFAnchor {
HSSFChildAnchor anchor = (HSSFChildAnchor) HSSFAnchor.createAnchorFromEscher(container);
assertNotNull(anchor);
assertEquals(anchor.getDx1(), 15);
assertEquals(escher.getDx1(), 15);
assertEquals(anchor.getDx2(), 16);
assertEquals(escher.getDx2(), 16);
assertEquals(anchor.getDy1(), 17);
assertEquals(escher.getDy1(), 17);
assertEquals(anchor.getDy2(), 18);
assertEquals(escher.getDy2(), 18);
assertEquals(15, anchor.getDx1());
assertEquals(15, escher.getDx1());
assertEquals(16, anchor.getDx2());
assertEquals(16, escher.getDx2());
assertEquals(17, anchor.getDy1());
assertEquals(17, escher.getDy1());
assertEquals(18, anchor.getDy2());
assertEquals(18, escher.getDy2());
}
@Test
@ -173,8 +181,8 @@ class TestHSSFAnchor {
rectangle.setAnchor(anchor);
assertNotNull(HSSFTestHelper.getEscherAnchor(anchor));
assertNotNull(HSSFTestHelper.getEscherContainer(rectangle));
assertEquals(HSSFTestHelper.getEscherAnchor(anchor), HSSFTestHelper.getEscherContainer(rectangle).getChildById(EscherClientAnchorRecord.RECORD_ID));
assertNotNull(getEscherContainer(rectangle));
assertEquals(HSSFTestHelper.getEscherAnchor(anchor), getEscherContainer(rectangle).getChildById(EscherClientAnchorRecord.RECORD_ID));
}
@Test
@ -190,22 +198,22 @@ class TestHSSFAnchor {
escher.setDy2((short) 18);
HSSFClientAnchor anchor = new HSSFClientAnchor(escher);
assertEquals(anchor.getCol1(), 11);
assertEquals(escher.getCol1(), 11);
assertEquals(anchor.getCol2(), 12);
assertEquals(escher.getCol2(), 12);
assertEquals(anchor.getRow1(), 13);
assertEquals(escher.getRow1(), 13);
assertEquals(anchor.getRow2(), 14);
assertEquals(escher.getRow2(), 14);
assertEquals(anchor.getDx1(), 15);
assertEquals(escher.getDx1(), 15);
assertEquals(anchor.getDx2(), 16);
assertEquals(escher.getDx2(), 16);
assertEquals(anchor.getDy1(), 17);
assertEquals(escher.getDy1(), 17);
assertEquals(anchor.getDy2(), 18);
assertEquals(escher.getDy2(), 18);
assertEquals(11, anchor.getCol1());
assertEquals(11, escher.getCol1());
assertEquals(12, anchor.getCol2());
assertEquals(12, escher.getCol2());
assertEquals(13, anchor.getRow1());
assertEquals(13, escher.getRow1());
assertEquals(14, anchor.getRow2());
assertEquals(14, escher.getRow2());
assertEquals(15, anchor.getDx1());
assertEquals(15, escher.getDx1());
assertEquals(16, anchor.getDx2());
assertEquals(16, escher.getDx2());
assertEquals(17, anchor.getDy1());
assertEquals(17, escher.getDy1());
assertEquals(18, anchor.getDy2());
assertEquals(18, escher.getDy2());
}
@Test
@ -214,47 +222,47 @@ class TestHSSFAnchor {
EscherClientAnchorRecord escher = (EscherClientAnchorRecord) HSSFTestHelper.getEscherAnchor(anchor);
anchor.setAnchor((short)11, 12, 13, 14, (short)15, 16, 17, 18);
assertEquals(anchor.getCol1(), 11);
assertEquals(escher.getCol1(), 11);
assertEquals(anchor.getCol2(), 15);
assertEquals(escher.getCol2(), 15);
assertEquals(anchor.getRow1(), 12);
assertEquals(escher.getRow1(), 12);
assertEquals(anchor.getRow2(), 16);
assertEquals(escher.getRow2(), 16);
assertEquals(anchor.getDx1(), 13);
assertEquals(escher.getDx1(), 13);
assertEquals(anchor.getDx2(), 17);
assertEquals(escher.getDx2(), 17);
assertEquals(anchor.getDy1(), 14);
assertEquals(escher.getDy1(), 14);
assertEquals(anchor.getDy2(), 18);
assertEquals(escher.getDy2(), 18);
assertEquals(11, anchor.getCol1());
assertEquals(11, escher.getCol1());
assertEquals(15, anchor.getCol2());
assertEquals(15, escher.getCol2());
assertEquals(12, anchor.getRow1());
assertEquals(12, escher.getRow1());
assertEquals(16, anchor.getRow2());
assertEquals(16, escher.getRow2());
assertEquals(13, anchor.getDx1());
assertEquals(13, escher.getDx1());
assertEquals(17, anchor.getDx2());
assertEquals(17, escher.getDx2());
assertEquals(14, anchor.getDy1());
assertEquals(14, escher.getDy1());
assertEquals(18, anchor.getDy2());
assertEquals(18, escher.getDy2());
anchor.setCol1(111);
assertEquals(anchor.getCol1(), 111);
assertEquals(escher.getCol1(), 111);
assertEquals(111, anchor.getCol1());
assertEquals(111, escher.getCol1());
anchor.setCol2(112);
assertEquals(anchor.getCol2(), 112);
assertEquals(escher.getCol2(), 112);
assertEquals(112, anchor.getCol2());
assertEquals(112, escher.getCol2());
anchor.setRow1(113);
assertEquals(anchor.getRow1(), 113);
assertEquals(escher.getRow1(), 113);
assertEquals(113, anchor.getRow1());
assertEquals(113, escher.getRow1());
anchor.setRow2(114);
assertEquals(anchor.getRow2(), 114);
assertEquals(escher.getRow2(), 114);
assertEquals(114, anchor.getRow2());
assertEquals(114, escher.getRow2());
anchor.setDx1(115);
assertEquals(anchor.getDx1(), 115);
assertEquals(escher.getDx1(), 115);
assertEquals(115, anchor.getDx1());
assertEquals(115, escher.getDx1());
anchor.setDx2(116);
assertEquals(anchor.getDx2(), 116);
assertEquals(escher.getDx2(), 116);
assertEquals(116, anchor.getDx2());
assertEquals(116, escher.getDx2());
anchor.setDy1(117);
assertEquals(anchor.getDy1(), 117);
assertEquals(escher.getDy1(), 117);
assertEquals(117, anchor.getDy1());
assertEquals(117, escher.getDy1());
anchor.setDy2(118);
assertEquals(anchor.getDy2(), 118);
assertEquals(escher.getDy2(), 118);
assertEquals(118, anchor.getDy2());
assertEquals(118, escher.getDy2());
}
@Test
@ -266,14 +274,14 @@ class TestHSSFAnchor {
escher.setDy2((short) 18);
HSSFChildAnchor anchor = new HSSFChildAnchor(escher);
assertEquals(anchor.getDx1(), 15);
assertEquals(escher.getDx1(), 15);
assertEquals(anchor.getDx2(), 16);
assertEquals(escher.getDx2(), 16);
assertEquals(anchor.getDy1(), 17);
assertEquals(escher.getDy1(), 17);
assertEquals(anchor.getDy2(), 18);
assertEquals(escher.getDy2(), 18);
assertEquals(15, anchor.getDx1());
assertEquals(15, escher.getDx1());
assertEquals(16, anchor.getDx2());
assertEquals(16, escher.getDx2());
assertEquals(17, anchor.getDy1());
assertEquals(17, escher.getDy1());
assertEquals(18, anchor.getDy2());
assertEquals(18, escher.getDy2());
}
@Test
@ -282,27 +290,27 @@ class TestHSSFAnchor {
EscherChildAnchorRecord escher = (EscherChildAnchorRecord) HSSFTestHelper.getEscherAnchor(anchor);
anchor.setAnchor(11, 12, 13, 14);
assertEquals(anchor.getDx1(), 11);
assertEquals(escher.getDx1(), 11);
assertEquals(anchor.getDx2(), 13);
assertEquals(escher.getDx2(), 13);
assertEquals(anchor.getDy1(), 12);
assertEquals(escher.getDy1(), 12);
assertEquals(anchor.getDy2(), 14);
assertEquals(escher.getDy2(), 14);
assertEquals(11, anchor.getDx1());
assertEquals(11, escher.getDx1());
assertEquals(13, anchor.getDx2());
assertEquals(13, escher.getDx2());
assertEquals(12, anchor.getDy1());
assertEquals(12, escher.getDy1());
assertEquals(14, anchor.getDy2());
assertEquals(14, escher.getDy2());
anchor.setDx1(115);
assertEquals(anchor.getDx1(), 115);
assertEquals(escher.getDx1(), 115);
assertEquals(115, anchor.getDx1());
assertEquals(115, escher.getDx1());
anchor.setDx2(116);
assertEquals(anchor.getDx2(), 116);
assertEquals(escher.getDx2(), 116);
assertEquals(116, anchor.getDx2());
assertEquals(116, escher.getDx2());
anchor.setDy1(117);
assertEquals(anchor.getDy1(), 117);
assertEquals(escher.getDy1(), 117);
assertEquals(117, anchor.getDy1());
assertEquals(117, escher.getDy1());
anchor.setDy2(118);
assertEquals(anchor.getDy2(), 118);
assertEquals(escher.getDy2(), 118);
assertEquals(118, anchor.getDy2());
assertEquals(118, escher.getDy2());
}
@Test
@ -317,10 +325,8 @@ class TestHSSFAnchor {
@Test
void testPassIncompatibleTypeIsFalse(){
HSSFClientAnchor clientAnchor = new HSSFClientAnchor(0, 1, 2, 3, (short)4, 5, (short)6, 7);
assertNotSame(clientAnchor, "wrongType");
HSSFChildAnchor childAnchor = new HSSFChildAnchor(0, 1, 2, 3);
assertNotSame(childAnchor, "wrongType");
assertNotEquals(clientAnchor, childAnchor);
}
@Test
@ -427,33 +433,33 @@ class TestHSSFAnchor {
HSSFChildAnchor child = new HSSFChildAnchor(2,2,1,1);
assertTrue(child.isHorizontallyFlipped());
assertTrue(child.isVerticallyFlipped());
assertEquals(child.getDx1(), 1);
assertEquals(child.getDx2(), 2);
assertEquals(child.getDy1(), 1);
assertEquals(child.getDy2(), 2);
assertEquals(1, child.getDx1());
assertEquals(2, child.getDx2());
assertEquals(1, child.getDy1());
assertEquals(2, child.getDy2());
child = new HSSFChildAnchor(3,3,4,4);
assertFalse(child.isHorizontallyFlipped());
assertFalse(child.isVerticallyFlipped());
assertEquals(child.getDx1(), 3);
assertEquals(child.getDx2(), 4);
assertEquals(child.getDy1(), 3);
assertEquals(child.getDy2(), 4);
assertEquals(3, child.getDx1());
assertEquals(4, child.getDx2());
assertEquals(3, child.getDy1());
assertEquals(4, child.getDy2());
HSSFClientAnchor client = new HSSFClientAnchor(1,1,1,1, (short)4,4,(short)3,3);
assertTrue(client.isVerticallyFlipped());
assertTrue(client.isHorizontallyFlipped());
assertEquals(client.getCol1(), 3);
assertEquals(client.getCol2(), 4);
assertEquals(client.getRow1(), 3);
assertEquals(client.getRow2(), 4);
assertEquals(3, client.getCol1());
assertEquals(4, client.getCol2());
assertEquals(3, client.getRow1());
assertEquals(4, client.getRow2());
client = new HSSFClientAnchor(1,1,1,1, (short)5,5,(short)6,6);
assertFalse(client.isVerticallyFlipped());
assertFalse(client.isHorizontallyFlipped());
assertEquals(client.getCol1(), 5);
assertEquals(client.getCol2(), 6);
assertEquals(client.getRow1(), 5);
assertEquals(client.getRow2(), 6);
assertEquals(5, client.getCol1());
assertEquals(6, client.getCol2());
assertEquals(5, client.getRow1());
assertEquals(6, client.getRow2());
}
}

View File

@ -19,6 +19,7 @@ package org.apache.poi.hssf.record;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertFalse;
import static org.junit.jupiter.api.Assertions.assertSame;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.apache.poi.ss.formula.ptg.AttrPtg;
@ -42,9 +43,9 @@ final class TestFormulaRecord {
record.setRow(1);
record.setXFIndex((short)4);
assertEquals(record.getColumn(),0);
assertEquals(record.getRow(), 1);
assertEquals(record.getXFIndex(),4);
assertEquals(0,record.getColumn());
assertEquals(1, record.getRow());
assertEquals(4,record.getXFIndex());
}
/**
@ -144,15 +145,15 @@ final class TestFormulaRecord {
Ptg[] ptgs = fr.getParsedExpression();
assertEquals(9, ptgs.length);
assertEquals(IntPtg.class, ptgs[0].getClass());
assertEquals(AttrPtg.class, ptgs[1].getClass());
assertEquals(RefPtg.class, ptgs[2].getClass());
assertEquals(AttrPtg.class, ptgs[3].getClass());
assertEquals(RefPtg.class, ptgs[4].getClass());
assertEquals(AttrPtg.class, ptgs[5].getClass());
assertEquals(RefPtg.class, ptgs[6].getClass());
assertEquals(AttrPtg.class, ptgs[7].getClass());
assertEquals(FuncVarPtg.class, ptgs[8].getClass());
assertSame(IntPtg.class, ptgs[0].getClass());
assertSame(AttrPtg.class, ptgs[1].getClass());
assertSame(RefPtg.class, ptgs[2].getClass());
assertSame(AttrPtg.class, ptgs[3].getClass());
assertSame(RefPtg.class, ptgs[4].getClass());
assertSame(AttrPtg.class, ptgs[5].getClass());
assertSame(RefPtg.class, ptgs[6].getClass());
assertSame(AttrPtg.class, ptgs[7].getClass());
assertSame(FuncVarPtg.class, ptgs[8].getClass());
FuncVarPtg choose = (FuncVarPtg)ptgs[8];
assertEquals("CHOOSE", choose.getName());

View File

@ -467,7 +467,7 @@ final class TestHyperlinkRecord {
HyperlinkRecord hr = new HyperlinkRecord(in);
byte[] ser = hr.serialize();
confirmRecordEncoding(HyperlinkRecord.sid, dataLinkToWorkbook, ser);
assertNotEquals("Identified bug in reading workbook link", "YEARFR~1.XLS", hr.getAddress());
assertNotEquals("YEARFR~1.XLS", hr.getAddress(), "Identified bug in reading workbook link");
assertEquals("yearfracExamples.xls", hr.getAddress());
}

View File

@ -103,7 +103,7 @@ final class TestNoteRecord {
);
RecordInputStream in = TestcaseRecordInputStream.create(NoteRecord.sid, data);
NoteRecord nr = new NoteRecord(in);
assertNotEquals("Identified bug in reading note with unicode author","\u00A2\u0030\u00D1\u0030\u00C3", nr.getAuthor());
assertNotEquals("\u00A2\u0030\u00D1\u0030\u00C3",nr.getAuthor(), "Identified bug in reading note with unicode author");
assertEquals("\u30A2\u30D1\u30C3\u30C1\u65CF", nr.getAuthor());
assertTrue(nr.authorIsMultibyte());

View File

@ -72,7 +72,7 @@ final class TestSharedValueManager {
HSSFSheet sheet = wb.getSheetAt(0);
assertEquals("1+1", sheet.getRow(2).getCell(0).getCellFormula());
String act = sheet.getRow(3).getCell(0).getCellFormula();
assertNotEquals("wrong shared formula record chosen", "1+1", act);
assertNotEquals("1+1", act, "wrong shared formula record chosen");
act = sheet.getRow(3).getCell(0).getCellFormula();
assertEquals("2+2", act);

View File

@ -1945,16 +1945,16 @@ final class TestBugs extends BaseTestBugzillaIssues {
void bug53432() throws IOException {
try (HSSFWorkbook wb1 = new HSSFWorkbook()) {
wb1.addPicture(new byte[]{123, 22}, Workbook.PICTURE_TYPE_JPEG);
assertEquals(wb1.getAllPictures().size(), 1);
assertEquals(1, wb1.getAllPictures().size());
}
try (HSSFWorkbook wb1 = new HSSFWorkbook()) {
try (HSSFWorkbook wb2 = writeOutAndReadBack(wb1)) {
assertEquals(wb2.getAllPictures().size(), 0);
assertEquals(0, wb2.getAllPictures().size());
wb2.addPicture(new byte[]{123, 22}, Workbook.PICTURE_TYPE_JPEG);
assertEquals(wb2.getAllPictures().size(), 1);
assertEquals(1, wb2.getAllPictures().size());
try (HSSFWorkbook wb3 = writeOutAndReadBack(wb2)) {
assertEquals(wb3.getAllPictures().size(), 1);
assertEquals(1, wb3.getAllPictures().size());
}
}
}

View File

@ -44,91 +44,91 @@ final class TestCloneSheet extends BaseTestCloneSheet {
}
@Test
void testCloneSheetWithoutDrawings(){
HSSFWorkbook b = new HSSFWorkbook();
HSSFSheet s = b.createSheet("Test");
HSSFSheet s2 = s.cloneSheet(b);
assertNull(s.getDrawingPatriarch());
assertNull(s2.getDrawingPatriarch());
assertEquals(HSSFTestHelper.getSheetForTest(s).getRecords().size(), HSSFTestHelper.getSheetForTest(s2).getRecords().size());
void testCloneSheetWithoutDrawings() throws IOException {
try (HSSFWorkbook b = new HSSFWorkbook()) {
HSSFSheet s = b.createSheet("Test");
HSSFSheet s2 = s.cloneSheet(b);
assertNull(s.getDrawingPatriarch());
assertNull(s2.getDrawingPatriarch());
assertEquals(HSSFTestHelper.getSheetForTest(s).getRecords().size(), HSSFTestHelper.getSheetForTest(s2).getRecords().size());
}
}
@Test
void testCloneSheetWithEmptyDrawingAggregate(){
HSSFWorkbook b = new HSSFWorkbook();
HSSFSheet s = b.createSheet("Test");
HSSFPatriarch patriarch = s.createDrawingPatriarch();
void testCloneSheetWithEmptyDrawingAggregate() throws IOException {
try (HSSFWorkbook b = new HSSFWorkbook()) {
HSSFSheet s = b.createSheet("Test");
HSSFPatriarch patriarch = s.createDrawingPatriarch();
EscherAggregate agg1 = patriarch.getBoundAggregate();
EscherAggregate agg1 = patriarch.getBoundAggregate();
HSSFSheet s2 = s.cloneSheet(b);
HSSFSheet s2 = s.cloneSheet(b);
patriarch = s2.getDrawingPatriarch();
patriarch = s2.getDrawingPatriarch();
EscherAggregate agg2 = patriarch.getBoundAggregate();
EscherAggregate agg2 = patriarch.getBoundAggregate();
EscherSpRecord sp1 = (EscherSpRecord) agg1.getEscherContainer().getChild(1).getChild(0).getChild(1);
EscherSpRecord sp2 = (EscherSpRecord) agg2.getEscherContainer().getChild(1).getChild(0).getChild(1);
EscherSpRecord sp1 = (EscherSpRecord) agg1.getEscherContainer().getChild(1).getChild(0).getChild(1);
EscherSpRecord sp2 = (EscherSpRecord) agg2.getEscherContainer().getChild(1).getChild(0).getChild(1);
assertEquals(sp1.getShapeId(), 1024);
assertEquals(sp2.getShapeId(), 2048);
assertEquals(1024, sp1.getShapeId());
assertEquals(2048, sp2.getShapeId());
EscherDgRecord dg = (EscherDgRecord) agg2.getEscherContainer().getChild(0);
EscherDgRecord dg = (EscherDgRecord) agg2.getEscherContainer().getChild(0);
assertEquals(dg.getLastMSOSPID(), 2048);
assertEquals(dg.getInstance(), 0x2);
assertEquals(2048, dg.getLastMSOSPID());
assertEquals(0x2, dg.getInstance());
//everything except id and DgRecord.lastMSOSPID and DgRecord.Instance must be the same
//everything except id and DgRecord.lastMSOSPID and DgRecord.Instance must be the same
sp2.setShapeId(1024);
dg.setLastMSOSPID(1024);
dg.setInstance((short) 0x1);
sp2.setShapeId(1024);
dg.setLastMSOSPID(1024);
dg.setInstance((short) 0x1);
assertEquals(agg1.serialize().length, agg2.serialize().length);
assertEquals(agg1.toXml(""), agg2.toXml(""));
assertArrayEquals(agg1.serialize(), agg2.serialize());
assertEquals(agg1.serialize().length, agg2.serialize().length);
assertEquals(agg1.toXml(""), agg2.toXml(""));
assertArrayEquals(agg1.serialize(), agg2.serialize());
}
}
@Test
void testCloneComment() throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sh = wb.createSheet();
HSSFPatriarch p = sh.createDrawingPatriarch();
HSSFComment c = p.createComment(new HSSFClientAnchor(0,0,100,100, (short) 0,0,(short)5,5));
c.setColumn(1);
c.setRow(2);
c.setString(new HSSFRichTextString("qwertyuio"));
try (HSSFWorkbook wb = new HSSFWorkbook()) {
HSSFSheet sh = wb.createSheet();
HSSFPatriarch p = sh.createDrawingPatriarch();
HSSFComment c = p.createComment(new HSSFClientAnchor(0, 0, 100, 100, (short) 0, 0, (short) 5, 5));
c.setColumn(1);
c.setRow(2);
c.setString(new HSSFRichTextString("qwertyuio"));
HSSFSheet sh2 = wb.cloneSheet(0);
HSSFPatriarch p2 = sh2.getDrawingPatriarch();
HSSFComment c2 = (HSSFComment) p2.getChildren().get(0);
HSSFSheet sh2 = wb.cloneSheet(0);
HSSFPatriarch p2 = sh2.getDrawingPatriarch();
HSSFComment c2 = (HSSFComment) p2.getChildren().get(0);
assertEquals(c.getString(), c2.getString());
assertEquals(c.getRow(), c2.getRow());
assertEquals(c.getColumn(), c2.getColumn());
assertEquals(c.getString(), c2.getString());
assertEquals(c.getRow(), c2.getRow());
assertEquals(c.getColumn(), c2.getColumn());
// The ShapeId is not equal?
// assertEquals(c.getNoteRecord().getShapeId(), c2.getNoteRecord().getShapeId());
// The ShapeId is not equal?
// assertEquals(c.getNoteRecord().getShapeId(), c2.getNoteRecord().getShapeId());
assertArrayEquals(c2.getTextObjectRecord().serialize(), c.getTextObjectRecord().serialize());
assertArrayEquals(c2.getTextObjectRecord().serialize(), c.getTextObjectRecord().serialize());
// ShapeId is different
CommonObjectDataSubRecord subRecord = (CommonObjectDataSubRecord) c2.getObjRecord().getSubRecords().get(0);
subRecord.setObjectId(1025);
// ShapeId is different
CommonObjectDataSubRecord subRecord = (CommonObjectDataSubRecord) c2.getObjRecord().getSubRecords().get(0);
subRecord.setObjectId(1025);
assertArrayEquals(c2.getObjRecord().serialize(), c.getObjRecord().serialize());
assertArrayEquals(c2.getObjRecord().serialize(), c.getObjRecord().serialize());
// ShapeId is different
c2.getNoteRecord().setShapeId(1025);
assertArrayEquals(c2.getNoteRecord().serialize(), c.getNoteRecord().serialize());
// ShapeId is different
c2.getNoteRecord().setShapeId(1025);
assertArrayEquals(c2.getNoteRecord().serialize(), c.getNoteRecord().serialize());
//everything except spRecord.shapeId must be the same
assertFalse(Arrays.equals(c2.getEscherContainer().serialize(), c.getEscherContainer().serialize()));
EscherSpRecord sp = (EscherSpRecord) c2.getEscherContainer().getChild(0);
sp.setShapeId(1025);
assertArrayEquals(c2.getEscherContainer().serialize(), c.getEscherContainer().serialize());
wb.close();
//everything except spRecord.shapeId must be the same
assertFalse(Arrays.equals(c2.getEscherContainer().serialize(), c.getEscherContainer().serialize()));
EscherSpRecord sp = (EscherSpRecord) c2.getEscherContainer().getChild(0);
sp.setShapeId(1025);
assertArrayEquals(c2.getEscherContainer().serialize(), c.getEscherContainer().serialize());
}
}
}

View File

@ -34,7 +34,7 @@ class TestEmbeddedObjects {
void testReadExistingObject() throws IOException {
try (HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("drawings.xls")) {
List<HSSFObjectData> list = wb.getAllEmbeddedObjects();
assertEquals(list.size(), 1);
assertEquals(1, list.size());
HSSFObjectData obj = list.get(0);
assertNotNull(obj.getObjectData());
assertNotNull(obj.getDirectory());
@ -50,7 +50,7 @@ class TestEmbeddedObjects {
void testReadNestedObject() throws IOException {
try (HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("WithCheckBoxes.xls")) {
List<HSSFObjectData> list = wb.getAllEmbeddedObjects();
assertEquals(list.size(), 1);
assertEquals(1, list.size());
HSSFObjectData obj = list.get(0);
assertNotNull(obj.getObjectData());
assertNotNull(obj.getOLE2ClassName());
@ -65,7 +65,7 @@ class TestEmbeddedObjects {
void testReadManyNestedObjects() throws IOException {
try (HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("45538_form_Header.xls")) {
List<HSSFObjectData> list = wb.getAllEmbeddedObjects();
assertEquals(list.size(), 40);
assertEquals(40, list.size());
}
}
}

View File

@ -134,7 +134,7 @@ final class TestEscherGraphics2d {
void testDraw() {
graphics.draw(new Line2D.Double(10,10,20,20));
HSSFSimpleShape s = (HSSFSimpleShape) escherGroup.getChildren().get(0);
assertEquals(s.getShapeType(), HSSFSimpleShape.OBJECT_TYPE_LINE);
assertEquals(HSSFSimpleShape.OBJECT_TYPE_LINE, s.getShapeType());
assertEquals(10, s.getAnchor().getDx1());
assertEquals(10, s.getAnchor().getDy1());
assertEquals(20, s.getAnchor().getDx2());

View File

@ -116,14 +116,6 @@ final class TestHSSFComment extends BaseTestCellComment {
// assert that the comments are created properly before writing
checkComments(sheet, noOfRows, comment);
/*// store in temp-file
OutputStream fs = new FileOutputStream("/tmp/56380.xls");
try {
sheet.getWorkbook().write(fs);
} finally {
fs.close();
}*/
// save and recreate the workbook from the saved file
HSSFWorkbook workbookBack = HSSFTestDataSamples.writeOutAndReadBack(workbook);
sheet = workbookBack.getSheetAt(0);
@ -211,7 +203,7 @@ final class TestHSSFComment extends BaseTestCellComment {
HSSFCell cell = row.createCell(0);
cell.setCellComment(comment);
assertEquals(comment.getEscherContainer().getChildCount(), 5);
assertEquals(5, comment.getEscherContainer().getChildCount());
//sp record
byte[] expected = decompress("H4sIAAAAAAAAAFvEw/WBg4GBgZEFSHAxMAAA9gX7nhAAAAA=");
@ -267,184 +259,179 @@ final class TestHSSFComment extends BaseTestCellComment {
@Test
void addToExistingFile() throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
int idx = wb.addPicture(new byte[]{1,2,3}, Workbook.PICTURE_TYPE_PNG);
try (HSSFWorkbook wb = new HSSFWorkbook()) {
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
int idx = wb.addPicture(new byte[]{1, 2, 3}, Workbook.PICTURE_TYPE_PNG);
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
comment.setColumn(5);
comment.setString(new HSSFRichTextString("comment1"));
comment = patriarch.createCellComment(new HSSFClientAnchor(0,0,100,100,(short)0,0,(short)10,10));
comment.setRow(5);
comment.setString(new HSSFRichTextString("comment2"));
comment.setBackgroundImage(idx);
assertEquals(comment.getBackgroundImageId(), idx);
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
comment.setColumn(5);
comment.setString(new HSSFRichTextString("comment1"));
comment = patriarch.createCellComment(new HSSFClientAnchor(0, 0, 100, 100, (short) 0, 0, (short) 10, 10));
comment.setRow(5);
comment.setString(new HSSFRichTextString("comment2"));
comment.setBackgroundImage(idx);
assertEquals(idx, comment.getBackgroundImageId());
assertEquals(patriarch.getChildren().size(), 2);
assertEquals(2, patriarch.getChildren().size());
HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb);
sh = wbBack.getSheetAt(0);
patriarch = sh.getDrawingPatriarch();
try (HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb)) {
sh = wbBack.getSheetAt(0);
patriarch = sh.getDrawingPatriarch();
comment = (HSSFComment) patriarch.getChildren().get(1);
assertEquals(comment.getBackgroundImageId(), idx);
comment.resetBackgroundImage();
assertEquals(comment.getBackgroundImageId(), 0);
comment = (HSSFComment) patriarch.getChildren().get(1);
assertEquals(idx, comment.getBackgroundImageId());
comment.resetBackgroundImage();
assertEquals(0, comment.getBackgroundImageId());
assertEquals(patriarch.getChildren().size(), 2);
comment = patriarch.createCellComment(new HSSFClientAnchor());
comment.setString(new HSSFRichTextString("comment3"));
assertEquals(2, patriarch.getChildren().size());
comment = patriarch.createCellComment(new HSSFClientAnchor());
comment.setString(new HSSFRichTextString("comment3"));
assertEquals(patriarch.getChildren().size(), 3);
HSSFWorkbook wbBack2 = HSSFTestDataSamples.writeOutAndReadBack(wbBack);
sh = wbBack2.getSheetAt(0);
patriarch = sh.getDrawingPatriarch();
comment = (HSSFComment) patriarch.getChildren().get(1);
assertEquals(comment.getBackgroundImageId(), 0);
assertEquals(patriarch.getChildren().size(), 3);
assertEquals(((HSSFComment) patriarch.getChildren().get(0)).getString().getString(), "comment1");
assertEquals(((HSSFComment) patriarch.getChildren().get(1)).getString().getString(), "comment2");
assertEquals(((HSSFComment) patriarch.getChildren().get(2)).getString().getString(), "comment3");
wb.close();
wbBack.close();
wbBack2.close();
assertEquals(patriarch.getChildren().size(), 3);
try (HSSFWorkbook wbBack2 = HSSFTestDataSamples.writeOutAndReadBack(wbBack)) {
sh = wbBack2.getSheetAt(0);
patriarch = sh.getDrawingPatriarch();
comment = (HSSFComment) patriarch.getChildren().get(1);
assertEquals(comment.getBackgroundImageId(), 0);
assertEquals(patriarch.getChildren().size(), 3);
assertEquals("comment1", ((HSSFComment) patriarch.getChildren().get(0)).getString().getString());
assertEquals("comment2", ((HSSFComment) patriarch.getChildren().get(1)).getString().getString());
assertEquals("comment3", ((HSSFComment) patriarch.getChildren().get(2)).getString().getString());
}
}
}
}
@Test
void setGetProperties() throws IOException {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
try (HSSFWorkbook wb = new HSSFWorkbook()) {
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
comment.setString(new HSSFRichTextString("comment1"));
assertEquals(comment.getString().getString(), "comment1");
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
comment.setString(new HSSFRichTextString("comment1"));
assertEquals("comment1", comment.getString().getString());
comment.setAuthor("poi");
assertEquals(comment.getAuthor(), "poi");
comment.setAuthor("poi");
assertEquals("poi", comment.getAuthor());
comment.setColumn(3);
assertEquals(comment.getColumn(), 3);
comment.setColumn(3);
assertEquals(3, comment.getColumn());
comment.setRow(4);
assertEquals(comment.getRow(), 4);
comment.setRow(4);
assertEquals(4, comment.getRow());
comment.setVisible(false);
assertFalse(comment.isVisible());
comment.setVisible(false);
assertFalse(comment.isVisible());
HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb);
sh = wbBack.getSheetAt(0);
patriarch = sh.getDrawingPatriarch();
try (HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb)) {
sh = wbBack.getSheetAt(0);
patriarch = sh.getDrawingPatriarch();
comment = (HSSFComment) patriarch.getChildren().get(0);
comment = (HSSFComment) patriarch.getChildren().get(0);
assertEquals(comment.getString().getString(), "comment1");
assertEquals("poi", comment.getAuthor());
assertEquals(comment.getColumn(), 3);
assertEquals(comment.getRow(), 4);
assertFalse(comment.isVisible());
assertEquals("comment1", comment.getString().getString());
assertEquals("poi", comment.getAuthor());
assertEquals(3, comment.getColumn());
assertEquals(4, comment.getRow());
assertFalse(comment.isVisible());
comment.setString(new HSSFRichTextString("comment12"));
comment.setAuthor("poi2");
comment.setColumn(32);
comment.setRow(42);
comment.setVisible(true);
comment.setString(new HSSFRichTextString("comment12"));
comment.setAuthor("poi2");
comment.setColumn(32);
comment.setRow(42);
comment.setVisible(true);
HSSFWorkbook wbBack2 = HSSFTestDataSamples.writeOutAndReadBack(wbBack);
sh = wbBack2.getSheetAt(0);
patriarch = sh.getDrawingPatriarch();
comment = (HSSFComment) patriarch.getChildren().get(0);
try (HSSFWorkbook wbBack2 = HSSFTestDataSamples.writeOutAndReadBack(wbBack)) {
sh = wbBack2.getSheetAt(0);
patriarch = sh.getDrawingPatriarch();
comment = (HSSFComment) patriarch.getChildren().get(0);
assertEquals(comment.getString().getString(), "comment12");
assertEquals("poi2", comment.getAuthor());
assertEquals(comment.getColumn(), 32);
assertEquals(comment.getRow(), 42);
assertTrue(comment.isVisible());
wb.close();
wbBack.close();
wbBack2.close();
assertEquals("comment12", comment.getString().getString());
assertEquals("poi2", comment.getAuthor());
assertEquals(32, comment.getColumn());
assertEquals(42, comment.getRow());
assertTrue(comment.isVisible());
}
}
}
}
@Test
void existingFileWithComment() throws IOException {
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("drawings.xls");
HSSFSheet sheet = wb.getSheet("comments");
HSSFPatriarch drawing = sheet.getDrawingPatriarch();
assertEquals(1, drawing.getChildren().size());
HSSFComment comment = (HSSFComment) drawing.getChildren().get(0);
assertEquals(comment.getAuthor(), "evgeniy");
assertEquals(comment.getString().getString(), "evgeniy:\npoi test");
assertEquals(comment.getColumn(), 1);
assertEquals(comment.getRow(), 2);
wb.close();
try (HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("drawings.xls")) {
HSSFSheet sheet = wb.getSheet("comments");
HSSFPatriarch drawing = sheet.getDrawingPatriarch();
assertEquals(1, drawing.getChildren().size());
HSSFComment comment = (HSSFComment) drawing.getChildren().get(0);
assertEquals("evgeniy", comment.getAuthor());
assertEquals("evgeniy:\npoi test", comment.getString().getString());
assertEquals(1, comment.getColumn());
assertEquals(2, comment.getRow());
}
}
@Test
void findComments() throws IOException{
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
try (HSSFWorkbook wb = new HSSFWorkbook()) {
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
HSSFRow row = sh.createRow(5);
HSSFCell cell = row.createCell(4);
cell.setCellComment(comment);
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
HSSFRow row = sh.createRow(5);
HSSFCell cell = row.createCell(4);
cell.setCellComment(comment);
assertNotNull(sh.findCellComment(5, 4));
assertNull(sh.findCellComment(5, 5));
assertNotNull(sh.findCellComment(5, 4));
assertNull(sh.findCellComment(5, 5));
HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb);
sh = wbBack.getSheetAt(0);
try (HSSFWorkbook wbBack = HSSFTestDataSamples.writeOutAndReadBack(wb)) {
sh = wbBack.getSheetAt(0);
assertNotNull(sh.findCellComment(5, 4));
assertNull(sh.findCellComment(5, 5));
wb.close();
wbBack.close();
assertNotNull(sh.findCellComment(5, 4));
assertNull(sh.findCellComment(5, 5));
}
}
}
@Test
void initState() throws IOException{
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
try (HSSFWorkbook wb = new HSSFWorkbook()) {
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
EscherAggregate agg = HSSFTestHelper.getEscherAggregate(patriarch);
assertEquals(agg.getTailRecords().size(), 0);
EscherAggregate agg = HSSFTestHelper.getEscherAggregate(patriarch);
assertEquals(0, agg.getTailRecords().size());
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
assertEquals(agg.getTailRecords().size(), 1);
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
assertEquals(1, agg.getTailRecords().size());
HSSFSimpleShape shape = patriarch.createSimpleShape(new HSSFClientAnchor());
assertNotNull(shape);
HSSFSimpleShape shape = patriarch.createSimpleShape(new HSSFClientAnchor());
assertNotNull(shape);
assertEquals(comment.getOptRecord().getEscherProperties().size(), 10);
wb.close();
assertEquals(10, comment.getOptRecord().getEscherProperties().size());
}
}
@Test
void shapeId() throws IOException{
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
try (HSSFWorkbook wb = new HSSFWorkbook()) {
HSSFSheet sh = wb.createSheet();
HSSFPatriarch patriarch = sh.createDrawingPatriarch();
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
HSSFComment comment = patriarch.createCellComment(new HSSFClientAnchor());
comment.setShapeId(2024);
comment.setShapeId(2024);
assertEquals(comment.getShapeId(), 2024);
assertEquals(2024, comment.getShapeId());
CommonObjectDataSubRecord cod = (CommonObjectDataSubRecord) comment.getObjRecord().getSubRecords().get(0);
assertEquals(2024, cod.getObjectId());
EscherSpRecord spRecord = (EscherSpRecord) comment.getEscherContainer().getChild(0);
assertEquals(2024, spRecord.getShapeId(), 2024);
assertEquals(2024, comment.getShapeId(), 2024);
assertEquals(2024, comment.getNoteRecord().getShapeId());
wb.close();
CommonObjectDataSubRecord cod = (CommonObjectDataSubRecord) comment.getObjRecord().getSubRecords().get(0);
assertEquals(2024, cod.getObjectId());
EscherSpRecord spRecord = (EscherSpRecord) comment.getEscherContainer().getChild(0);
assertEquals(2024, spRecord.getShapeId(), 2024);
assertEquals(2024, comment.getShapeId(), 2024);
assertEquals(2024, comment.getNoteRecord().getShapeId());
}
}
}

View File

@ -76,7 +76,7 @@ final class TestPropertySorter {
String exp = String.join("", _entries);
String actOld = Stream.of(props).map(Property::getName).collect(Collectors.joining());
assertNotEquals("expected old case-sensitive property comparator to return properties in wrong order", exp, actOld);
assertNotEquals(exp, actOld, "expected old case-sensitive property comparator to return properties in wrong order");
// (2) Verify that the fixed property comparator works right
Arrays.sort(props, new DirectoryProperty.PropertyComparator());

View File

@ -69,7 +69,7 @@ final class TestNumberToTextConverter {
* {@code Double.longBitsToDouble()} will set one bit 51 (the NaN signaling flag) if it isn't
* already. {@code Double.doubleToLongBits()} will return a double with bit pattern
* {@code 0x7FF8000000000000L} for any NaN bit pattern supplied.<br>
* Differences are likely to be observed with other architectures.<p>
* Differences are likely to be observed with other architectures.
*
* <p>
* The few test case examples calling this method represent functionality which may not be
@ -90,7 +90,7 @@ final class TestNumberToTextConverter {
String actualText = NumberToTextConverter.toText(dResult);
String jdkText = Double.toString(dResult);
// "0.060000000000000005"
assertNotEquals("Should not use default JDK IEEE double rendering", jdkText, actualText);
assertNotEquals(jdkText, actualText, "Should not use default JDK IEEE double rendering");
assertEquals("0.06", actualText);
}
}