Author: kiwiwings
Date: Thu Jan 28 00:08:35 2021
New Revision: 1885954

URL: http://svn.apache.org/viewvc?rev=1885954&view=rev
Log:
Sonar fixes
add asserts to tests

Modified:
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java
    
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java?rev=1885954&r1=1885953&r2=1885954&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java
 Thu Jan 28 00:08:35 2021
@@ -24,10 +24,13 @@ import static org.junit.jupiter.api.Asse
 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;
 
 import java.io.IOException;
+import java.util.Objects;
+import java.util.Spliterator;
 import java.util.TreeMap;
+import java.util.stream.IntStream;
+import java.util.stream.StreamSupport;
 
 import org.apache.poi.ss.usermodel.Cell;
 import org.apache.poi.ss.usermodel.Row;
@@ -446,31 +449,16 @@ public final class TestXSSFRichTextStrin
     @Test
     void testBug56511() throws IOException {
         try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("56511.xlsx")) {
-            for (Sheet sheet : wb) {
-                int lastRow = sheet.getLastRowNum();
-                for (int rowIdx = sheet.getFirstRowNum(); rowIdx <= lastRow; 
rowIdx++) {
-                    Row row = sheet.getRow(rowIdx);
-                    if (row != null) {
-                        int lastCell = row.getLastCellNum();
-
-                        for (int cellIdx = row.getFirstCellNum(); cellIdx <= 
lastCell; cellIdx++) {
-
-                            Cell cell = row.getCell(cellIdx);
-                            if (cell != null) {
-                                //System.out.println("row " + rowIdx + " 
column " + cellIdx + ": " + cell.getCellType() + ": " + cell.toString());
-
-                                XSSFRichTextString richText = 
(XSSFRichTextString) cell.getRichStringCellValue();
-                                int anzFormattingRuns = 
richText.numFormattingRuns();
-                                for (int run = 0; run < anzFormattingRuns; 
run++) {
-                                    /*XSSFFont font =*/ 
richText.getFontOfFormattingRun(run);
-                                    //System.out.println("  run " + run
-                                    //        + " font " + (font == null ? 
"<null>" : font.getFontName()));
-                                }
-                            }
-                        }
-                    }
-                }
-            }
+            int[] idx = { 0 };
+            StreamSupport.stream(wb::spliterator, Spliterator.IMMUTABLE, false)
+                .flatMap(sheet -> StreamSupport.stream(sheet::spliterator, 
Spliterator.IMMUTABLE, false))
+                .filter(Objects::nonNull)
+                .flatMap(row -> StreamSupport.stream(row::spliterator, 
Spliterator.IMMUTABLE, false))
+                .filter(Objects::nonNull)
+                .map(Cell::getRichStringCellValue)
+                .map(XSSFRichTextString.class::cast)
+                .flatMap(x -> IntStream.range(0, 
x.numFormattingRuns()).mapToObj(x::getFontOfFormattingRun))
+                .forEach(f -> { if (idx[0]++ == 2) { assertNull(f); } else { 
assertNotNull(f); }} );
         }
     }
 

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java?rev=1885954&r1=1885953&r2=1885954&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java 
Thu Jan 28 00:08:35 2021
@@ -1274,7 +1274,9 @@ public final class TestXSSFSheet extends
     @Timeout(value = 180, unit = SECONDS)
     @Test
     void bug51585() throws IOException {
-        XSSFTestDataSamples.openSampleWorkbook("51585.xlsx").close();
+        try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("51585.xlsx")) {
+            assertNotNull(wb.getSheetAt(0));
+        }
     }
 
     private XSSFWorkbook setupSheet(){
@@ -1885,45 +1887,49 @@ public final class TestXSSFSheet extends
      */
     @Test
     void testInsertCommentsToClonedSheet() throws IOException {
-       Workbook wb = XSSFTestDataSamples.openSampleWorkbook("52425.xlsx");
-               CreationHelper helper = wb.getCreationHelper();
-               Sheet sheet2 = wb.createSheet("Sheet 2");
-               Sheet sheet3 = wb.cloneSheet(0);
-               wb.setSheetName(2, "Sheet 3");
-
-               // Adding Comment to new created Sheet 2
-               addComments(helper, sheet2);
-               // Adding Comment to cloned Sheet 3
-               addComments(helper, sheet3);
-
-        wb.close();
-    }
-
-    private void addComments(CreationHelper helper, Sheet sheet) {
-               Drawing<?> drawing = sheet.createDrawingPatriarch();
+       try (Workbook wb = 
XSSFTestDataSamples.openSampleWorkbook("52425.xlsx")) {
+            CreationHelper helper = wb.getCreationHelper();
+            Sheet sheet2 = wb.createSheet("Sheet 2");
+            Sheet sheet3 = wb.cloneSheet(0);
+            wb.setSheetName(2, "Sheet 3");
+
+            Sheet[] sheets = { sheet2, sheet3 };
+
+            for (Sheet sheet : sheets) {
+                Drawing<?> drawing = sheet.createDrawingPatriarch();
+
+                for (int i = 0; i < 2; i++) {
+                    ClientAnchor anchor = helper.createClientAnchor();
+                    anchor.setCol1(0);
+                    anchor.setRow1(i);
+                    anchor.setCol2(2);
+                    anchor.setRow2(3 + i);
+
+                    Comment comment = drawing.createCellComment(anchor);
+                    
comment.setString(helper.createRichTextString("BugTesting"));
+
+                    Row row = sheet.getRow(i);
+                    if (row == null) {
+                        row = sheet.createRow(i);
+                    }
+                    Cell cell = row.getCell(0);
+                    if (cell == null) {
+                        cell = row.createCell(0);
+                    }
 
-               for (int i = 0; i < 2; i++) {
-                       ClientAnchor anchor = helper.createClientAnchor();
-                       anchor.setCol1(0);
-                       anchor.setRow1(i);
-                       anchor.setCol2(2);
-                       anchor.setRow2(3 + i);
-
-                       Comment comment = drawing.createCellComment(anchor);
-                       
comment.setString(helper.createRichTextString("BugTesting"));
-
-                       Row row = sheet.getRow(i);
-                       if (row == null) {
-                row = sheet.createRow(i);
+                    cell.setCellComment(comment);
+                }
             }
-                       Cell cell = row.getCell(0);
-                       if (cell == null) {
-                cell = row.createCell(0);
-            }
-
-                       cell.setCellComment(comment);
-               }
 
+            for (Sheet sheet : sheets) {
+                for (int i = 0; i < 2; i++) {
+                    CellAddress ref = new CellAddress(i, 0);
+                    Comment c = sheet.getCellComment(ref);
+                    assertNotNull(c);
+                    assertEquals("BugTesting", c.getString().getString());
+                }
+            }
+        }
     }
 
     // bug 59687:  XSSFSheet.RemoveRow doesn't handle row gaps properly when 
removing row comments

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java?rev=1885954&r1=1885953&r2=1885954&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java
 (original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheetShiftRows.java
 Thu Jan 28 00:08:35 2021
@@ -17,18 +17,27 @@
 
 package org.apache.poi.xssf.usermodel;
 
-import org.apache.poi.ss.usermodel.*;
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+import static org.junit.jupiter.api.Assertions.assertThrows;
+
+import java.io.IOException;
+import java.util.stream.IntStream;
+
+import org.apache.poi.ss.usermodel.BaseTestSheetShiftRows;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.CellType;
+import org.apache.poi.ss.usermodel.Comment;
+import org.apache.poi.ss.usermodel.Row;
+import org.apache.poi.ss.usermodel.Sheet;
+import org.apache.poi.ss.usermodel.Workbook;
 import org.apache.poi.ss.util.CellAddress;
 import org.apache.poi.ss.util.CellUtil;
-import org.apache.poi.util.IOUtils;
 import org.apache.poi.xssf.XSSFITestDataProvider;
 import org.apache.poi.xssf.XSSFTestDataSamples;
 import org.junit.jupiter.api.Test;
 
-import java.io.IOException;
-
-import static org.junit.jupiter.api.Assertions.*;
-
 public final class TestXSSFSheetShiftRows extends BaseTestSheetShiftRows {
 
     public TestXSSFSheetShiftRows(){
@@ -390,61 +399,71 @@ public final class TestXSSFSheetShiftRow
     // bug 59983:  Wrong update of shared formulas after shiftRow
     @Test
     void testSharedFormulas() throws Exception {
-        XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("TestShiftRowSharedFormula.xlsx");
-        XSSFSheet sheet = wb.getSheetAt(0);
-        assertEquals("SUM(C2:C4)", getCellFormula(sheet, "C5"));
-        assertEquals("SUM(D2:D4)", getCellFormula(sheet, "D5"));
-        assertEquals("SUM(E2:E4)", getCellFormula(sheet, "E5"));
-
-        assertEquals("SUM(C3:C5)", getCellFormula(sheet, "C6"));
-        assertEquals("SUM(D3:D5)", getCellFormula(sheet, "D6"));
-        assertEquals("SUM(E3:E5)", getCellFormula(sheet, "E6"));
-
-        sheet.shiftRows(3, sheet.getLastRowNum(), 1);
-
-        assertEquals("SUM(C2:C5)", getCellFormula(sheet, "C6"));
-        assertEquals("SUM(D2:D5)", getCellFormula(sheet, "D6"));
-        assertEquals("SUM(E2:E5)", getCellFormula(sheet, "E6"));
-
-        assertEquals("SUM(C3:C6)", getCellFormula(sheet, "C7"));
-        assertEquals("SUM(D3:D6)", getCellFormula(sheet, "D7"));
-        assertEquals("SUM(E3:E6)", getCellFormula(sheet, "E7"));
-        wb.close();
+        try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("TestShiftRowSharedFormula.xlsx")) {
+            XSSFSheet sheet = wb.getSheetAt(0);
+            assertEquals("SUM(C2:C4)", getCellFormula(sheet, "C5"));
+            assertEquals("SUM(D2:D4)", getCellFormula(sheet, "D5"));
+            assertEquals("SUM(E2:E4)", getCellFormula(sheet, "E5"));
+
+            assertEquals("SUM(C3:C5)", getCellFormula(sheet, "C6"));
+            assertEquals("SUM(D3:D5)", getCellFormula(sheet, "D6"));
+            assertEquals("SUM(E3:E5)", getCellFormula(sheet, "E6"));
+
+            sheet.shiftRows(3, sheet.getLastRowNum(), 1);
+
+            assertEquals("SUM(C2:C5)", getCellFormula(sheet, "C6"));
+            assertEquals("SUM(D2:D5)", getCellFormula(sheet, "D6"));
+            assertEquals("SUM(E2:E5)", getCellFormula(sheet, "E6"));
+
+            assertEquals("SUM(C3:C6)", getCellFormula(sheet, "C7"));
+            assertEquals("SUM(D3:D6)", getCellFormula(sheet, "D7"));
+            assertEquals("SUM(E3:E6)", getCellFormula(sheet, "E7"));
+        }
     }
 
     // bug 59983:  Wrong update of shared formulas after shiftRow
     @Test
     void testShiftSharedFormulas() throws Exception {
-        XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("TestShiftRowSharedFormula.xlsx");
-        XSSFSheet sheet = wb.getSheetAt(0);
-        assertEquals("SUM(C2:C4)", getCellFormula(sheet, "C5"));
-        assertEquals("SUM(D2:D4)", getCellFormula(sheet, "D5"));
-        assertEquals("SUM(E2:E4)", getCellFormula(sheet, "E5"));
-
-        assertEquals("SUM(C3:C5)", getCellFormula(sheet, "C6"));
-        assertEquals("SUM(D3:D5)", getCellFormula(sheet, "D6"));
-        assertEquals("SUM(E3:E5)", getCellFormula(sheet, "E6"));
-
-        sheet.shiftRows(sheet.getFirstRowNum(), 4, -1);
-
-        assertEquals("SUM(C1:C3)", getCellFormula(sheet, "C4"));
-        assertEquals("SUM(D1:D3)", getCellFormula(sheet, "D4"));
-        assertEquals("SUM(E1:E3)", getCellFormula(sheet, "E4"));
-
-        assertEquals("SUM(C2:C4)", getCellFormula(sheet, "C6"));
-        assertEquals("SUM(D2:D4)", getCellFormula(sheet, "D6"));
-        assertEquals("SUM(E2:E4)", getCellFormula(sheet, "E6"));
-        wb.close();
+        try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("TestShiftRowSharedFormula.xlsx")) {
+            XSSFSheet sheet = wb.getSheetAt(0);
+            assertEquals("SUM(C2:C4)", getCellFormula(sheet, "C5"));
+            assertEquals("SUM(D2:D4)", getCellFormula(sheet, "D5"));
+            assertEquals("SUM(E2:E4)", getCellFormula(sheet, "E5"));
+
+            assertEquals("SUM(C3:C5)", getCellFormula(sheet, "C6"));
+            assertEquals("SUM(D3:D5)", getCellFormula(sheet, "D6"));
+            assertEquals("SUM(E3:E5)", getCellFormula(sheet, "E6"));
+
+            sheet.shiftRows(sheet.getFirstRowNum(), 4, -1);
+
+            assertEquals("SUM(C1:C3)", getCellFormula(sheet, "C4"));
+            assertEquals("SUM(D1:D3)", getCellFormula(sheet, "D4"));
+            assertEquals("SUM(E1:E3)", getCellFormula(sheet, "E4"));
+
+            assertEquals("SUM(C2:C4)", getCellFormula(sheet, "C6"));
+            assertEquals("SUM(D2:D4)", getCellFormula(sheet, "D6"));
+            assertEquals("SUM(E2:E4)", getCellFormula(sheet, "E6"));
+        }
     }
 
     // bug 60260: shift rows or rename a sheet containing a named range
     // that refers to formula with a unicode (non-ASCII) sheet name formula
     @Test
-    void shiftRowsWithUnicodeNamedRange() {
-        XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("unicodeSheetName.xlsx");
-        XSSFSheet sheet = wb.getSheetAt(0);
-        sheet.shiftRows(1, 2, 3);
-        IOUtils.closeQuietly(wb);
+    void shiftRowsWithUnicodeNamedRange() throws IOException {
+        try (XSSFWorkbook wb = 
XSSFTestDataSamples.openSampleWorkbook("unicodeSheetName.xlsx")) {
+            XSSFSheet sheet = wb.getSheetAt(0);
+            sheet.shiftRows(1, 2, 3);
+
+            Integer[] exp = { 1, null, null, 4, 2, 3, 7, 8, 9 };
+            IntStream.rangeClosed(0, 8).forEach(i -> {
+                Row row = sheet.getRow(i);
+                if (exp[i] == null) {
+                    assertNull(row);
+                } else {
+                    assertEquals(exp[i], 
(int)row.getCell(0).getNumericCellValue());
+                }
+            });
+        }
     }
 
     @Test

Modified: 
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java
URL: 
http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java?rev=1885954&r1=1885953&r2=1885954&view=diff
==============================================================================
--- 
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java 
(original)
+++ 
poi/trunk/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFStyles.java 
Thu Jan 28 00:08:35 2021
@@ -22,7 +22,6 @@ import static org.junit.jupiter.api.Asse
 import static org.junit.jupiter.api.Assertions.assertNotNull;
 import static org.junit.jupiter.api.Assertions.assertNull;
 import static org.junit.jupiter.api.Assertions.assertTrue;
-import static org.junit.jupiter.api.Assertions.fail;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -57,22 +56,23 @@ public final class TestXWPFStyles {
 
     @Test
     void testAddStylesToDocument() throws IOException {
-        XWPFDocument docOut = new XWPFDocument();
-        XWPFStyles styles = docOut.createStyles();
+        try (XWPFDocument docOut = new XWPFDocument()) {
+            XWPFStyles styles = docOut.createStyles();
 
-        String strStyleId = "headline1";
-        CTStyle ctStyle = CTStyle.Factory.newInstance();
+            String strStyleId = "headline1";
+            CTStyle ctStyle = CTStyle.Factory.newInstance();
 
-        ctStyle.setStyleId(strStyleId);
-        XWPFStyle s = new XWPFStyle(ctStyle);
-        styles.addStyle(s);
+            ctStyle.setStyleId(strStyleId);
+            XWPFStyle s = new XWPFStyle(ctStyle);
+            styles.addStyle(s);
 
-        assertTrue(styles.styleExist(strStyleId));
+            assertTrue(styles.styleExist(strStyleId));
 
-        XWPFDocument docIn = XWPFTestDataSamples.writeOutAndReadBack(docOut);
+            XWPFDocument docIn = 
XWPFTestDataSamples.writeOutAndReadBack(docOut);
 
-        styles = docIn.getStyles();
-        assertTrue(styles.styleExist(strStyleId));
+            styles = docIn.getStyles();
+            assertTrue(styles.styleExist(strStyleId));
+        }
     }
 
     /**
@@ -96,17 +96,18 @@ public final class TestXWPFStyles {
      * YK: tests below don't make much sense,
      * they exist only to copy xml beans to pi-ooxml-lite.jar
      */
-    @SuppressWarnings("resource")
     @Test
-    void testLanguages() {
-        XWPFDocument docOut = new XWPFDocument();
-        XWPFStyles styles = docOut.createStyles();
-        styles.setEastAsia("Chinese");
+    void testLanguages() throws IOException {
+        try (XWPFDocument docOut = new XWPFDocument()) {
+            XWPFStyles styles = docOut.createStyles();
+            styles.setEastAsia("Chinese");
+            styles.setSpellingLanguage("English");
 
-        styles.setSpellingLanguage("English");
+            CTFonts def = CTFonts.Factory.newInstance();
+            styles.setDefaultFonts(def);
 
-        CTFonts def = CTFonts.Factory.newInstance();
-        styles.setDefaultFonts(def);
+            assertEquals(1, 
styles.getDefaultRunStyle().getRPr().sizeOfRFontsArray());
+        }
     }
 
     @Test
@@ -130,22 +131,23 @@ public final class TestXWPFStyles {
 
     @Test
     void testSetStyles_Bug57254() throws IOException {
-        XWPFDocument docOut = new XWPFDocument();
-        XWPFStyles styles = docOut.createStyles();
+        try (XWPFDocument docOut = new XWPFDocument()) {
+            XWPFStyles styles = docOut.createStyles();
 
-        CTStyles ctStyles = CTStyles.Factory.newInstance();
-        String strStyleId = "headline1";
-        CTStyle ctStyle = ctStyles.addNewStyle();
+            CTStyles ctStyles = CTStyles.Factory.newInstance();
+            String strStyleId = "headline1";
+            CTStyle ctStyle = ctStyles.addNewStyle();
 
-        ctStyle.setStyleId(strStyleId);
-        styles.setStyles(ctStyles);
+            ctStyle.setStyleId(strStyleId);
+            styles.setStyles(ctStyles);
 
-        assertTrue(styles.styleExist(strStyleId));
+            assertTrue(styles.styleExist(strStyleId));
 
-        XWPFDocument docIn = XWPFTestDataSamples.writeOutAndReadBack(docOut);
+            XWPFDocument docIn = 
XWPFTestDataSamples.writeOutAndReadBack(docOut);
 
-        styles = docIn.getStyles();
-        assertTrue(styles.styleExist(strStyleId));
+            styles = docIn.getStyles();
+            assertTrue(styles.styleExist(strStyleId));
+        }
     }
 
     @Test



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

Reply via email to