diff options
Diffstat (limited to 'sc/qa/complex/cellRanges/CheckXCellRangesQuery.java')
-rwxr-xr-x | sc/qa/complex/cellRanges/CheckXCellRangesQuery.java | 157 |
1 files changed, 107 insertions, 50 deletions
diff --git a/sc/qa/complex/cellRanges/CheckXCellRangesQuery.java b/sc/qa/complex/cellRanges/CheckXCellRangesQuery.java index b23abe2d6a57..a85cb0483c1c 100755 --- a/sc/qa/complex/cellRanges/CheckXCellRangesQuery.java +++ b/sc/qa/complex/cellRanges/CheckXCellRangesQuery.java @@ -28,30 +28,39 @@ package complex.cellRanges; import com.sun.star.container.XIndexAccess; -import complexlib.ComplexTestCase; +// import complexlib.ComplexTestCase; import com.sun.star.lang.XMultiServiceFactory; -import com.sun.star.sheet.CellFlags; +// import com.sun.star.sheet.CellFlags; import com.sun.star.sheet.XCellRangesQuery; import com.sun.star.sheet.XSheetCellRanges; import com.sun.star.sheet.XSpreadsheet; import com.sun.star.sheet.XSpreadsheetDocument; import com.sun.star.sheet.XSpreadsheets; import com.sun.star.table.CellAddress; -import com.sun.star.table.XColumnRowRange; -import com.sun.star.table.XTableColumns; -import com.sun.star.table.XTableRows; +// import com.sun.star.table.XColumnRowRange; +// import com.sun.star.table.XTableColumns; +// import com.sun.star.table.XTableRows; import com.sun.star.uno.AnyConverter; import com.sun.star.uno.Type; import com.sun.star.uno.UnoRuntime; import com.sun.star.uno.XInterface; -import java.io.PrintWriter; +// import java.io.PrintWriter; +import com.sun.star.util.XCloseable; import util.SOfficeFactory; +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; +import org.openoffice.test.OfficeConnection; +import static org.junit.Assert.*; + /** * Check the XCellRangesQuery interface on the SheetCell service. test was * created for bug i20044. */ -public class CheckXCellRangesQuery extends ComplexTestCase { +public class CheckXCellRangesQuery /* extends ComplexTestCase */ { XSpreadsheetDocument m_xSheetDoc = null; XCellRangesQuery m_xCell = null; XSpreadsheet m_xSpreadSheet = null; @@ -60,50 +69,52 @@ public class CheckXCellRangesQuery extends ComplexTestCase { * Get all test methods. * @return The test methods. */ - public String[] getTestMethodNames() { - return new String[] {"checkEmptyCell", "checkFilledCell"}; - } +// public String[] getTestMethodNames() { +// return new String[] {"checkEmptyCell", "checkFilledCell"}; +// } /** * Creates Spreadsheet document and the test object, * before the actual test starts. */ - public void before() { + @Before public void before() { // create a calc document - SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)param.getMSF() ); + // SOfficeFactory SOF = SOfficeFactory.getFactory( (XMultiServiceFactory)param.getMSF() ); + final XMultiServiceFactory xMsf = UnoRuntime.queryInterface(XMultiServiceFactory.class, connection.getComponentContext().getServiceManager()); + SOfficeFactory SOF = SOfficeFactory.getFactory(xMsf); try { - log.println( "creating a Spreadsheet document" ); + System.out.println( "creating a Spreadsheet document" ); m_xSheetDoc = SOF.createCalcDoc(null); } catch ( com.sun.star.uno.Exception e ) { // Some exception occures.FAILED - e.printStackTrace( (PrintWriter)log ); - failed( "Couldn?t create document"); + e.printStackTrace( ); + fail( "Couldn?t create document"); } XInterface oObj = null; try { - log.println("Getting spreadsheet") ; + System.out.println("Getting spreadsheet") ; XSpreadsheets oSheets = m_xSheetDoc.getSheets() ; - XIndexAccess oIndexSheets = (XIndexAccess) + XIndexAccess oIndexSheets = UnoRuntime.queryInterface(XIndexAccess.class, oSheets); m_xSpreadSheet = (XSpreadsheet) AnyConverter.toObject( new Type(XSpreadsheet.class),oIndexSheets.getByIndex(0)); // get the cell - log.println("Getting a cell from sheet") ; + System.out.println("Getting a cell from sheet") ; oObj = m_xSpreadSheet.getCellByPosition(2, 3); - m_xCell = (XCellRangesQuery)UnoRuntime.queryInterface(XCellRangesQuery.class, oObj); + m_xCell = UnoRuntime.queryInterface(XCellRangesQuery.class, oObj); } catch (com.sun.star.lang.WrappedTargetException e) { - e.printStackTrace((PrintWriter)log); - failed("Error getting cell object from spreadsheet document"); + e.printStackTrace(); + fail("Error getting cell object from spreadsheet document"); } catch (com.sun.star.lang.IndexOutOfBoundsException e) { - e.printStackTrace((PrintWriter)log); - failed("Error getting cell object from spreadsheet document"); + e.printStackTrace(); + fail("Error getting cell object from spreadsheet document"); } catch (com.sun.star.lang.IllegalArgumentException e) { - e.printStackTrace((PrintWriter)log); - failed("Error getting cell object from spreadsheet document"); + e.printStackTrace(); + fail("Error getting cell object from spreadsheet document"); } // set one value for comparison. @@ -115,12 +126,45 @@ public class CheckXCellRangesQuery extends ComplexTestCase { m_xSpreadSheet.getCellByPosition(3, 2).setFormula(""); m_xSpreadSheet.getCellByPosition(3, 3).setFormula(""); */ } catch (com.sun.star.lang.IndexOutOfBoundsException e) { - e.printStackTrace((PrintWriter)log); - failed("Could not fill cell (1, 1) with a value."); + e.printStackTrace(); + fail("Could not fill cell (1, 1) with a value."); } } + /* + * this method closes a calc document and resets the corresponding class variable xSheetDoc + */ + protected boolean closeSpreadsheetDocument() { + boolean worked = true; + + System.out.println(" disposing xSheetDoc "); + + try { + XCloseable oCloser = UnoRuntime.queryInterface( + XCloseable.class, m_xSheetDoc); + oCloser.close(true); + } catch (com.sun.star.util.CloseVetoException e) { + worked = false; + System.out.println("Couldn't close document"); + } catch (com.sun.star.lang.DisposedException e) { + worked = false; + System.out.println("Document already disposed"); + } catch (java.lang.NullPointerException e) { + worked = false; + System.out.println("Couldn't get XCloseable"); + } + + m_xSheetDoc = null; + + return worked; + } + + @After public void after() + { + closeSpreadsheetDocument(); + } + /** * Perform some tests on an empty cell: * <ol> @@ -129,15 +173,15 @@ public class CheckXCellRangesQuery extends ComplexTestCase { * <li>query for empty cells</li> * <ol> */ - public void checkEmptyCell() { - log.println("Checking an empty cell..."); + @Test public void checkEmptyCell() { + System.out.println("Checking an empty cell..."); // compare an empty cell with a cell with a value - assure("\tQuery column differences did not return the correct value.", _queryColumnDifferences("Sheet1.C4"), true); + assertTrue("\tQuery column differences did not return the correct value.", _queryColumnDifferences("Sheet1.C4")); // compare an empty cell with a cell with a value - assure("\tQuery column differences did not return the correct value.", _queryRowDifferences("Sheet1.C4"), true); + assertTrue("\tQuery column differences did not return the correct value.", _queryRowDifferences("Sheet1.C4")); // try to get this cell - assure("\tQuery empty cells did not return the correct value.", _queryEmptyCells("Sheet1.C4"), true); - log.println("...done"); +// assertTrue("\tQuery empty cells did not return the correct value.", _queryEmptyCells("Sheet1.C4")); + System.out.println("...done"); } /** @@ -148,24 +192,24 @@ public class CheckXCellRangesQuery extends ComplexTestCase { * <li>query for an empty cell.</li> * <ol> */ - public void checkFilledCell() { - log.println("Checking a filled cell..."); + @Test public void checkFilledCell() { + System.out.println("Checking a filled cell..."); // fill the cell with a value try { m_xSpreadSheet.getCellByPosition(2, 3).setValue(15); } catch (com.sun.star.lang.IndexOutOfBoundsException e) { - e.printStackTrace((PrintWriter)log); - failed("Could not fill cell (2, 3) with a value."); + e.printStackTrace(); + fail("Could not fill cell (2, 3) with a value."); } // compare an cell with value 5 with a cell with value 15 - assure("\tQuery column differences did not return the correct value.", _queryColumnDifferences("Sheet1.C4"), true); + assertTrue("\tQuery column differences did not return the correct value.", _queryColumnDifferences("Sheet1.C4")); // compare an cell with value 5 with a cell with value 15 - assure("\tQuery column differences did not return the correct value.", _queryRowDifferences("Sheet1.C4"), true); + assertTrue("\tQuery column differences did not return the correct value.", _queryRowDifferences("Sheet1.C4")); // try to get nothing - assure("\tQuery empty cells did not return the correct value.", _queryEmptyCells(""), true); - log.println("...done"); + assertTrue("\tQuery empty cells did not return the correct value.", _queryEmptyCells("")); + System.out.println("...done"); } @@ -175,14 +219,14 @@ public class CheckXCellRangesQuery extends ComplexTestCase { * @return True, if the result equals the expected result. */ public boolean _queryColumnDifferences(String expected) { - log.println("\tQuery column differences"); + System.out.println("\tQuery column differences"); XSheetCellRanges ranges = m_xCell.queryColumnDifferences( new CellAddress((short) 0, 1, 1)); String getting = ranges.getRangeAddressesAsString(); if (!getting.equals(expected)) { - log.println("\tGetting: " + getting); - log.println("\tShould have been: " + expected); + System.out.println("\tGetting: " + getting); + System.out.println("\tShould have been: " + expected); return false; } return true; @@ -194,13 +238,13 @@ public class CheckXCellRangesQuery extends ComplexTestCase { * @return True, if the result equals the expected result. */ public boolean _queryEmptyCells(String expected) { - log.println("\tQuery empty cells"); + System.out.println("\tQuery empty cells"); XSheetCellRanges ranges = m_xCell.queryEmptyCells(); String getting = ranges.getRangeAddressesAsString(); if (!getting.equals(expected)) { - log.println("\tGetting: " + getting); - log.println("\tShould have been: " + expected); + System.out.println("\tGetting: " + getting); + System.out.println("\tShould have been: " + expected); return false; } return true; @@ -212,18 +256,31 @@ public class CheckXCellRangesQuery extends ComplexTestCase { * @return True, if the result equals the expected result. */ public boolean _queryRowDifferences(String expected) { - log.println("\tQuery row differences"); + System.out.println("\tQuery row differences"); XSheetCellRanges ranges = m_xCell.queryRowDifferences( new CellAddress((short) 0, 1, 1)); String getting = ranges.getRangeAddressesAsString(); if (!getting.equals(expected)) { - log.println("\tGetting: " + getting); - log.println("\tShould have been: " + expected); + System.out.println("\tGetting: " + getting); + System.out.println("\tShould have been: " + expected); return false; } return true; } + + @BeforeClass public static void setUpConnection() throws Exception { + connection.setUp(); + } + + @AfterClass public static void tearDownConnection() + throws InterruptedException, com.sun.star.uno.Exception + { + connection.tearDown(); + } + + private static final OfficeConnection connection = new OfficeConnection(); + } |