tdf#45904 Move XElementAccess Java tests to C++

Move XElementAccess Java tests to C++
for ScCellsObj.

Change-Id: If721582a36ef5a82fba20d4ec7e0806d1d0524d9
Reviewed-on: https://gerrit.libreoffice.org/64365
Tested-by: Jenkins
Reviewed-by: Jens Carl <j.carl43@gmx.de>
diff --git a/framework/qa/complex/api_internal/api.lst b/framework/qa/complex/api_internal/api.lst
index 5c25127..89361f5 100644
--- a/framework/qa/complex/api_internal/api.lst
+++ b/framework/qa/complex/api_internal/api.lst
@@ -81,7 +81,6 @@
job82=sc.ScCellFieldsObj
job84=sc.ScCellFormatsObj
job85=sc.ScCellSearchObj
job87=sc.ScCellsObj
job88=sc.ScDatabaseRangeObj
job89=sc.ScDatabaseRangesObj
job90=sc.ScDataPilotFieldObj
diff --git a/qadevOOo/Jar_OOoRunner.mk b/qadevOOo/Jar_OOoRunner.mk
index 63ebd62..a2e9b82e 100644
--- a/qadevOOo/Jar_OOoRunner.mk
+++ b/qadevOOo/Jar_OOoRunner.mk
@@ -967,7 +967,6 @@
    qadevOOo/tests/java/mod/_sc/ScCellRangeObj \
    qadevOOo/tests/java/mod/_sc/ScCellRangesObj \
    qadevOOo/tests/java/mod/_sc/ScCellSearchObj \
    qadevOOo/tests/java/mod/_sc/ScCellsObj \
    qadevOOo/tests/java/mod/_sc/ScCellTextCursor \
    qadevOOo/tests/java/mod/_sc/ScChartObj \
    qadevOOo/tests/java/mod/_sc/ScChartsObj \
diff --git a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsObj.csv b/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsObj.csv
deleted file mode 100644
index c8c8a23..0000000
--- a/qadevOOo/objdsc/sc/com.sun.star.comp.office.ScCellsObj.csv
+++ /dev/null
@@ -1,2 +0,0 @@
"ScCellsObj";"com::sun::star::container::XElementAccess";"getElementType()"
"ScCellsObj";"com::sun::star::container::XElementAccess";"hasElements()"
diff --git a/qadevOOo/tests/java/mod/_sc/ScCellsObj.java b/qadevOOo/tests/java/mod/_sc/ScCellsObj.java
deleted file mode 100644
index 2fb8139..0000000
--- a/qadevOOo/tests/java/mod/_sc/ScCellsObj.java
+++ /dev/null
@@ -1,132 +0,0 @@
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

package mod._sc;

import java.io.PrintWriter;

import lib.TestCase;
import lib.TestEnvironment;
import lib.TestParameters;
import util.SOfficeFactory;

import com.sun.star.container.XIndexAccess;
import com.sun.star.lang.XComponent;
import com.sun.star.sheet.XCellRangesQuery;
import com.sun.star.sheet.XSheetCellRanges;
import com.sun.star.sheet.XSpreadsheetDocument;
import com.sun.star.sheet.XSpreadsheets;
import com.sun.star.table.XCell;
import com.sun.star.table.XCellRange;
import com.sun.star.text.XTextRange;
import com.sun.star.uno.AnyConverter;
import com.sun.star.uno.Type;
import com.sun.star.uno.UnoRuntime;
import com.sun.star.uno.XInterface;

/**
* Test for object which is represented by service
* <code>com.sun.star.sheet.Cells</code>. <p>
* Object implements the following interfaces :
* <ul>
*  <li> <code>com::sun::star::container::XEnumerationAccess</code></li>
*  <li> <code>com::sun::star::container::XElementAccess</code></li>
* </ul>
* @see com.sun.star.sheet.Cells
* @see com.sun.star.container.XEnumerationAccess
* @see com.sun.star.container.XElementAccess
* @see ifc.container._XEnumerationAccess
* @see ifc.container._XElementAccess
*/
public class ScCellsObj extends TestCase {
    private XSpreadsheetDocument xSheetDoc = null;

    /**
    * Creates Spreadsheet document.
    */
    @Override
    protected void initialize( TestParameters tParam, PrintWriter log ) throws Exception {
        // get a soffice factory object
        SOfficeFactory SOF = SOfficeFactory.getFactory( tParam.getMSF());
        log.println( "creating a sheetdocument" );
        xSheetDoc = SOF.createCalcDoc(null);
    }

    /**
    * Disposes Spreadsheet document.
    */
    @Override
    protected void cleanup( TestParameters tParam, PrintWriter log ) {
        log.println( "    disposing xSheetDoc " );
        XComponent oComp = UnoRuntime.queryInterface (XComponent.class, xSheetDoc) ;
        util.DesktopTools.closeDoc(oComp);
    }

    /**
    * Creating a TestEnvironment for the interfaces to be tested.
    * Retrieves a collection of spreadsheets from a document,
    * and takes one of them. Replaces text of some cells.
    * Retrieves a cell range of the visible cells using the interface
    * <code>XCellRangesQuery</code>. Retrieves a collection of cells from
    * this cell range, this collection is instance of the service
    * <code>com.sun.star.sheet.Cells</code>.
    * @see com.sun.star.sheet.XCellRangesQuery
    */
    @Override
    protected TestEnvironment createTestEnvironment(TestParameters Param, PrintWriter log) throws Exception {

        XInterface oObj = null;
        Object cellArr[] = new Object[3];

        // creation of testobject here
        XSpreadsheets oSheets = xSheetDoc.getSheets();
        XIndexAccess oIndexAccess = UnoRuntime.queryInterface(XIndexAccess.class, oSheets);
        XCellRange oSheet = null;
        oSheet = (XCellRange) AnyConverter.toObject(
                new Type(XCellRange.class),oIndexAccess.getByIndex(0));

        XCell oCell_1 = oSheet.getCellByPosition(0, 0);
        XTextRange oTextRange = UnoRuntime.queryInterface(XTextRange.class, oCell_1);

        oTextRange.setString("ScCellsObj test 1");

        XCell oCell_2 = oSheet.getCellByPosition(5, 1);
        oCell_2.setValue(15);

        XCell oCell_3 = oSheet.getCellByPosition(3, 9);
        oTextRange = UnoRuntime.queryInterface(XTextRange.class, oCell_3);

        oTextRange.setString("ScCellsObj test 2");

        cellArr[0] = oCell_1;
        cellArr[2] = oCell_2;
        cellArr[1] = oCell_3;

        XCellRangesQuery oCellRangesQuery = UnoRuntime.queryInterface(XCellRangesQuery.class, oSheet);
        XSheetCellRanges oSheetCellRanges = oCellRangesQuery.queryVisibleCells();

        oObj = oSheetCellRanges.getCells();

        TestEnvironment tEnv = new TestEnvironment(oObj) ;
        log.println ("Object created.") ;

        return tEnv;
    }

}    // finish class ScCellsObj

diff --git a/sc/qa/extras/sccellsobj.cxx b/sc/qa/extras/sccellsobj.cxx
index ea63c4b..5d41d46 100644
--- a/sc/qa/extras/sccellsobj.cxx
+++ b/sc/qa/extras/sccellsobj.cxx
@@ -8,6 +8,7 @@
 */

#include <test/calc_unoapi_test.hxx>
#include <test/container/xelementaccess.hxx>
#include <test/container/xenumerationaccess.hxx>

#include <com/sun/star/container/XIndexAccess.hpp>
@@ -23,12 +24,16 @@

#include <com/sun/star/uno/Reference.hxx>

#include <cppu/unotype.hxx>

using namespace css;
using namespace css::uno;

namespace sc_apitest
{
class ScCellsObj : public CalcUnoApiTest, public apitest::XEnumerationAccess
class ScCellsObj : public CalcUnoApiTest,
                   public apitest::XElementAccess,
                   public apitest::XEnumerationAccess
{
public:
    ScCellsObj();
@@ -39,6 +44,10 @@

    CPPUNIT_TEST_SUITE(ScCellsObj);

    // XElementAccess
    CPPUNIT_TEST(testHasElements);
    CPPUNIT_TEST(testGetElementType);

    // XEnumerationAccess
    CPPUNIT_TEST(testCreateEnumeration);

@@ -50,6 +59,7 @@

ScCellsObj::ScCellsObj()
    : CalcUnoApiTest("/sc/qa/extras/testdocuments")
    , XElementAccess(cppu::UnoType<table::XCell>::get())
{
}

diff --git a/sc/qa/unoapi/sc_3.sce b/sc/qa/unoapi/sc_3.sce
index bc5b7d4..1848392 100644
--- a/sc/qa/unoapi/sc_3.sce
+++ b/sc/qa/unoapi/sc_3.sce
@@ -19,7 +19,6 @@
-o sc.ScCellRangesObj
-o sc.ScCellSearchObj
-o sc.ScCellTextCursor
-o sc.ScCellsObj
-o sc.ScChartObj
-o sc.ScChartsObj
-o sc.ScDDELinkObj