Kaydet (Commit) c298f790 authored tarafından Jens Carl's avatar Jens Carl Kaydeden (comit) Markus Mohrhard

tdf#45904: Move _DatabaseRange Java tests to C++

Change-Id: Iefe319c379ac8fffbb167b4bd4bcb235defabfa9
Reviewed-on: https://gerrit.libreoffice.org/41541Tested-by: 's avatarJenkins <ci@libreoffice.org>
Reviewed-by: 's avatarMarkus Mohrhard <markus.mohrhard@googlemail.com>
üst 90b5555e
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
/*
* 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/.
*/
#ifndef INCLUDED_TEST_SHEET_DATABASERANGE_HXX
#define INCLUDED_TEST_SHEET_DATABASERANGE_HXX
#include <com/sun/star/uno/XInterface.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include <test/testdllapi.hxx>
namespace apitest {
class OOO_DLLPUBLIC_TEST DatabaseRange
{
public:
virtual css::uno::Reference< css::uno::XInterface > init(const OUString& rDBName) = 0;
void testMoveCells();
void testKeepFormats();
void testStripData();
void testAutoFilter();
void testUseFilterCriteriaSource();
void testFilterCriteriaSource();
void testRefreshPeriod();
void testFromSelection();
void testTokenIndex();
void testTotalsRow();
void testContainsHeader();
protected:
~DatabaseRange() {}
};
}
#endif // INCLUDED_TEST_SHEET_DATABASERANGE_HXX
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
......@@ -564,7 +564,6 @@ $(eval $(call gb_Jar_add_sourcefiles,OOoRunner,\
qadevOOo/tests/java/ifc/sdb/_XSingleSelectQueryComposer \
qadevOOo/tests/java/ifc/sdb/_XSQLErrorBroadcaster \
qadevOOo/tests/java/ifc/sheet/_DatabaseImportDescriptor \
qadevOOo/tests/java/ifc/sheet/_DatabaseRange \
qadevOOo/tests/java/ifc/sheet/_DataPilotItem \
qadevOOo/tests/java/ifc/sheet/_DocumentSettings \
qadevOOo/tests/java/ifc/sheet/_FunctionDescription \
......
......@@ -11,11 +11,3 @@
"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"removePropertyChangeListener()"
"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"addVetoableChangeListener()"
"ScDatabaseRangeObj";"com::sun::star::beans::XPropertySet";"removeVetoableChangeListener()"
"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"MoveCells"
"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"KeepFormats"
"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"StripData"
"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"AutoFilter#optional"
"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"UseFilterCriteriaSource#optional"
"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"FilterCriteriaSource#optional"
"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"RefreshPeriod#optional"
"ScDatabaseRangeObj";"com::sun::star::sheet::DatabaseRange";"FromSelection#optional"
/*
* 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 ifc.sheet;
import lib.MultiPropertyTest;
/**
* Testing <code>com.sun.star.sheet.DatabaseRange</code>
* service properties :
* <ul>
* <li><code> MoveCells</code></li>
* <li><code> KeepFormats</code></li>
* <li><code> StripData</code></li>
* <li><code> AutoFilter</code></li>
* <li><code> UseFilerCriteriaSource</code></li>
* <li><code> FilerCriteriaSource</code></li>
* </ul> <p>
* Properties testing is automated by <code>lib.MultiPropertyTest</code>.
* @see com.sun.star.sheet.DatabaseRange
*/
public class _DatabaseRange extends MultiPropertyTest {
}
......@@ -8,6 +8,7 @@
*/
#include <test/calc_unoapi_test.hxx>
#include <test/sheet/databaserange.hxx>
#include <test/sheet/xdatabaserange.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
......@@ -20,9 +21,9 @@ using namespace css::uno;
namespace sc_apitest {
#define NUMBER_OF_TESTS 6
#define NUMBER_OF_TESTS 17
class ScDatabaseRangeObj : public CalcUnoApiTest, public apitest::XDatabaseRange
class ScDatabaseRangeObj : public CalcUnoApiTest, public apitest::DatabaseRange, public apitest::XDatabaseRange
{
public:
virtual void setUp() override;
......@@ -33,12 +34,28 @@ public:
ScDatabaseRangeObj();
CPPUNIT_TEST_SUITE(ScDatabaseRangeObj);
// XDatabaseRange
CPPUNIT_TEST(testDataArea);
CPPUNIT_TEST(testGetSortDescriptor);
CPPUNIT_TEST(testGetSubtotalDescriptor);
CPPUNIT_TEST(testGetImportDescriptor);
CPPUNIT_TEST(testGetFilterDescriptor);
CPPUNIT_TEST(testRefresh);
// DatabaseRange
CPPUNIT_TEST(testMoveCells);
CPPUNIT_TEST(testKeepFormats);
CPPUNIT_TEST(testStripData);
CPPUNIT_TEST(testAutoFilter);
CPPUNIT_TEST(testUseFilterCriteriaSource);
CPPUNIT_TEST(testFilterCriteriaSource);
CPPUNIT_TEST(testRefreshPeriod);
CPPUNIT_TEST(testFromSelection);
CPPUNIT_TEST(testTokenIndex);
CPPUNIT_TEST(testTotalsRow);
CPPUNIT_TEST(testContainsHeader);
CPPUNIT_TEST_SUITE_END();
private:
static sal_Int32 nTest;
......@@ -72,6 +89,7 @@ uno::Reference< uno::XInterface > ScDatabaseRangeObj::init( const OUString& rDBN
void ScDatabaseRangeObj::setUp()
{
nTest++;
CPPUNIT_ASSERT(nTest <= NUMBER_OF_TESTS);
CalcUnoApiTest::setUp();
}
......
......@@ -44,6 +44,7 @@ $(eval $(call gb_Library_add_exception_objects,subsequenttest,\
test/source/container/xnamed \
test/source/sheet/cellarealink \
test/source/sheet/cellproperties \
test/source/sheet/databaserange \
test/source/sheet/datapilotfield \
test/source/sheet/xarealink \
test/source/sheet/xcelladdressable \
......
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
/*
* 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/.
*/
#include <test/sheet/databaserange.hxx>
#include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/sheet/XDatabaseRange.hpp>
#include <com/sun/star/table/CellRangeAddress.hpp>
#include <com/sun/star/uno/Reference.hxx>
#include "cppunit/extensions/HelperMacros.h"
using namespace com::sun::star;
using namespace com::sun::star::uno;
CPPUNIT_NS_BEGIN
template<> struct assertion_traits<table::CellRangeAddress>
{
static bool equal(const table::CellRangeAddress& x, const table::CellRangeAddress& y)
{
return x == y;
}
static std::string toString( const table::CellRangeAddress& x )
{
OStringStream ost;
ost << "Sheet: " << x.Sheet << " StartColumn: " << x.StartColumn << " StartRow: " << x.StartRow
<< " EndColumn: " << x.EndColumn << " EndRow: " << x.EndRow;
return ost.str();
}
};
CPPUNIT_NS_END
namespace apitest {
void DatabaseRange::testMoveCells()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("MoveCells");
bool bMoveCells = true;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bMoveCells);
CPPUNIT_ASSERT_MESSAGE("Default MoveCells already changed", !bMoveCells);
uno::Any aNewMoveCells;
aNewMoveCells <<= true;
xDatabaseRange->setPropertyValue(propName, aNewMoveCells);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bMoveCells);
CPPUNIT_ASSERT_MESSAGE("Value of MoveCells wasn't changed", bMoveCells);
}
void DatabaseRange::testKeepFormats()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("KeepFormats");
bool bKeepFormats = true;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bKeepFormats);
CPPUNIT_ASSERT_MESSAGE("Default KeepFormats already changed", !bKeepFormats);
uno::Any aNewKeepFormats;
aNewKeepFormats <<= true;
xDatabaseRange->setPropertyValue(propName, aNewKeepFormats);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bKeepFormats);
CPPUNIT_ASSERT_MESSAGE("Value of KeepFormats wasn't changed", bKeepFormats);
}
void DatabaseRange::testStripData()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("StripData");
bool bStripData = true;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bStripData);
CPPUNIT_ASSERT_MESSAGE("Default StripData already changed", !bStripData);
uno::Any aNewStripData;
aNewStripData <<= true;
xDatabaseRange->setPropertyValue(propName, aNewStripData);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bStripData);
CPPUNIT_ASSERT_MESSAGE("Value of StripData wasn't changed", bStripData);
}
void DatabaseRange::testAutoFilter()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("AutoFilter");
bool bAutoFilter = true;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bAutoFilter);
CPPUNIT_ASSERT_MESSAGE("Default AutoFilter already changed", !bAutoFilter);
uno::Any aNewAutoFilter;
aNewAutoFilter <<= true;
xDatabaseRange->setPropertyValue(propName, aNewAutoFilter);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bAutoFilter);
CPPUNIT_ASSERT_MESSAGE("Value of AutoFilter wasn't changed", bAutoFilter);
}
void DatabaseRange::testUseFilterCriteriaSource()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("UseFilterCriteriaSource");
bool bUseFilterCriteriaSource = true;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bUseFilterCriteriaSource);
CPPUNIT_ASSERT_MESSAGE("Default UseFilterCriteriaSource already changed", !bUseFilterCriteriaSource);
uno::Any aNewUseFilterCriteriaSource;
aNewUseFilterCriteriaSource <<= true;
xDatabaseRange->setPropertyValue(propName, aNewUseFilterCriteriaSource);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bUseFilterCriteriaSource);
CPPUNIT_ASSERT_MESSAGE("Value of UseFilterCriteriaSource wasn't changed", bUseFilterCriteriaSource);
}
void DatabaseRange::testFilterCriteriaSource()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("FilterCriteriaSource");
table::CellRangeAddress cellRangeAddress;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= cellRangeAddress);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Default RefreshPeriod already changed",
table::CellRangeAddress(0,0,0,0,0), cellRangeAddress);
uno::Any aFilterCriteriaSource;
aFilterCriteriaSource <<= table::CellRangeAddress(1,1,1,1,1);
xDatabaseRange->setPropertyValue(propName, aFilterCriteriaSource);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= cellRangeAddress);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Value of FilterCriteriaSource wasn't changed",
table::CellRangeAddress(1,1,1,1,1), cellRangeAddress);
}
void DatabaseRange::testRefreshPeriod()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("RefreshPeriod");
sal_Int32 aRefreshPeriod = 1;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= aRefreshPeriod);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Default RefreshPeriod already changed", sal_Int32(0), aRefreshPeriod);
uno::Any aNewRefreshPeriod;
aNewRefreshPeriod <<= static_cast<sal_Int32>(42);
xDatabaseRange->setPropertyValue(propName, aNewRefreshPeriod);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= aRefreshPeriod);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Value of RefreshPeriod wasn't changed", sal_Int32(42), aRefreshPeriod);
}
void DatabaseRange::testFromSelection()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("FromSelection");
bool bFromSelection = true;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bFromSelection);
CPPUNIT_ASSERT_MESSAGE("Default FromSelection already changed", !bFromSelection);
uno::Any aNewFromSelection;
aNewFromSelection <<= true;
xDatabaseRange->setPropertyValue(propName, aNewFromSelection);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bFromSelection);
CPPUNIT_ASSERT_MESSAGE("Value of FromSelection wasn't changed", bFromSelection);
}
void DatabaseRange::testTokenIndex()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("TokenIndex");
sal_Int32 aTokenIndex = 0;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= aTokenIndex);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Default TotalIndex already changed", sal_Int32(1), aTokenIndex);
uno::Any aNewTokenIndex;
aNewTokenIndex <<= static_cast<sal_Int32>(42);
xDatabaseRange->setPropertyValue(propName, aNewTokenIndex);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= aTokenIndex);
CPPUNIT_ASSERT_EQUAL_MESSAGE("Value of TotalIndex was changed", sal_Int32(1), aTokenIndex);
}
void DatabaseRange::testTotalsRow()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("TotalsRow");
bool bTotalsRow = true;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bTotalsRow);
CPPUNIT_ASSERT_MESSAGE("Default TotalsRow already changed", !bTotalsRow);
uno::Any aNewTotalsRow;
aNewTotalsRow <<= true;
xDatabaseRange->setPropertyValue(propName, aNewTotalsRow);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bTotalsRow);
CPPUNIT_ASSERT_MESSAGE("Value of TotalsRow wasn't changed", bTotalsRow);
}
void DatabaseRange::testContainsHeader()
{
uno::Reference< beans::XPropertySet > xDatabaseRange(init("DataArea"), UNO_QUERY_THROW);
const OUString propName("ContainsHeader");
bool bContainsHeader = false;
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bContainsHeader);
CPPUNIT_ASSERT_MESSAGE("Default ContainsHeader already changed", bContainsHeader);
uno::Any aNewContainsHeader;
aNewContainsHeader <<= false;
xDatabaseRange->setPropertyValue(propName, aNewContainsHeader);
CPPUNIT_ASSERT(xDatabaseRange->getPropertyValue(propName) >>= bContainsHeader);
CPPUNIT_ASSERT_MESSAGE("Value of ContainsHeader wasn't changed", !bContainsHeader);
}
}
/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment