1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; fill-column: 100 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
10 #include <test/sheet/databaserange.hxx>
11 #include <test/cppunitasserthelper.hxx>
13 #include <com/sun/star/beans/XPropertySet.hpp>
14 #include <com/sun/star/sheet/XDatabaseRange.hpp>
15 #include <com/sun/star/table/CellRangeAddress.hpp>
16 #include <com/sun/star/uno/Reference.hxx>
18 #include <cppunit/extensions/HelperMacros.h>
20 using namespace com::sun::star
;
21 using namespace com::sun::star::uno
;
25 void DatabaseRange::testMoveCells()
27 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
29 const OUString
propName("MoveCells");
31 bool bMoveCells
= true;
32 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bMoveCells
);
33 CPPUNIT_ASSERT_MESSAGE("Default MoveCells already changed", !bMoveCells
);
35 uno::Any aNewMoveCells
;
36 aNewMoveCells
<<= true;
37 xDatabaseRange
->setPropertyValue(propName
, aNewMoveCells
);
38 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bMoveCells
);
39 CPPUNIT_ASSERT_MESSAGE("Value of MoveCells wasn't changed", bMoveCells
);
42 void DatabaseRange::testKeepFormats()
44 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
46 const OUString
propName("KeepFormats");
48 bool bKeepFormats
= true;
49 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bKeepFormats
);
50 CPPUNIT_ASSERT_MESSAGE("Default KeepFormats already changed", !bKeepFormats
);
52 uno::Any aNewKeepFormats
;
53 aNewKeepFormats
<<= true;
54 xDatabaseRange
->setPropertyValue(propName
, aNewKeepFormats
);
55 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bKeepFormats
);
56 CPPUNIT_ASSERT_MESSAGE("Value of KeepFormats wasn't changed", bKeepFormats
);
59 void DatabaseRange::testStripData()
61 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
63 const OUString
propName("StripData");
65 bool bStripData
= true;
66 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bStripData
);
67 CPPUNIT_ASSERT_MESSAGE("Default StripData already changed", !bStripData
);
69 uno::Any aNewStripData
;
70 aNewStripData
<<= true;
71 xDatabaseRange
->setPropertyValue(propName
, aNewStripData
);
72 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bStripData
);
73 CPPUNIT_ASSERT_MESSAGE("Value of StripData wasn't changed", bStripData
);
76 void DatabaseRange::testAutoFilter()
78 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
80 const OUString
propName("AutoFilter");
82 bool bAutoFilter
= true;
83 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bAutoFilter
);
84 CPPUNIT_ASSERT_MESSAGE("Default AutoFilter already changed", !bAutoFilter
);
86 uno::Any aNewAutoFilter
;
87 aNewAutoFilter
<<= true;
88 xDatabaseRange
->setPropertyValue(propName
, aNewAutoFilter
);
89 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bAutoFilter
);
90 CPPUNIT_ASSERT_MESSAGE("Value of AutoFilter wasn't changed", bAutoFilter
);
93 void DatabaseRange::testUseFilterCriteriaSource()
95 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
97 const OUString
propName("UseFilterCriteriaSource");
99 bool bUseFilterCriteriaSource
= true;
100 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bUseFilterCriteriaSource
);
101 CPPUNIT_ASSERT_MESSAGE("Default UseFilterCriteriaSource already changed", !bUseFilterCriteriaSource
);
103 uno::Any aNewUseFilterCriteriaSource
;
104 aNewUseFilterCriteriaSource
<<= true;
105 xDatabaseRange
->setPropertyValue(propName
, aNewUseFilterCriteriaSource
);
106 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bUseFilterCriteriaSource
);
107 CPPUNIT_ASSERT_MESSAGE("Value of UseFilterCriteriaSource wasn't changed", bUseFilterCriteriaSource
);
110 void DatabaseRange::testFilterCriteriaSource()
112 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
114 const OUString
propName("FilterCriteriaSource");
116 table::CellRangeAddress cellRangeAddress
;
117 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= cellRangeAddress
);
118 CPPUNIT_ASSERT_EQUAL_MESSAGE("Default RefreshPeriod already changed",
119 table::CellRangeAddress(0,0,0,0,0), cellRangeAddress
);
121 uno::Any aFilterCriteriaSource
;
122 aFilterCriteriaSource
<<= table::CellRangeAddress(1,1,1,1,1);
123 xDatabaseRange
->setPropertyValue(propName
, aFilterCriteriaSource
);
124 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= cellRangeAddress
);
125 CPPUNIT_ASSERT_EQUAL_MESSAGE("Value of FilterCriteriaSource wasn't changed",
126 table::CellRangeAddress(1,1,1,1,1), cellRangeAddress
);
129 void DatabaseRange::testRefreshPeriod()
131 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
133 const OUString
propName("RefreshPeriod");
135 sal_Int32 aRefreshPeriod
= 1;
136 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= aRefreshPeriod
);
137 CPPUNIT_ASSERT_EQUAL_MESSAGE("Default RefreshPeriod already changed", sal_Int32(0), aRefreshPeriod
);
139 uno::Any aNewRefreshPeriod
;
140 aNewRefreshPeriod
<<= static_cast<sal_Int32
>(42);
141 xDatabaseRange
->setPropertyValue(propName
, aNewRefreshPeriod
);
142 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= aRefreshPeriod
);
143 CPPUNIT_ASSERT_EQUAL_MESSAGE("Value of RefreshPeriod wasn't changed", sal_Int32(42), aRefreshPeriod
);
146 void DatabaseRange::testFromSelection()
148 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
150 const OUString
propName("FromSelection");
152 bool bFromSelection
= true;
153 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bFromSelection
);
154 CPPUNIT_ASSERT_MESSAGE("Default FromSelection already changed", !bFromSelection
);
156 uno::Any aNewFromSelection
;
157 aNewFromSelection
<<= true;
158 xDatabaseRange
->setPropertyValue(propName
, aNewFromSelection
);
159 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bFromSelection
);
160 CPPUNIT_ASSERT_MESSAGE("Value of FromSelection wasn't changed", bFromSelection
);
163 void DatabaseRange::testTokenIndex()
165 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
167 const OUString
propName("TokenIndex");
169 sal_Int32 aTokenIndex
= 0;
170 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= aTokenIndex
);
171 CPPUNIT_ASSERT_EQUAL_MESSAGE("Default TotalIndex already changed", sal_Int32(1), aTokenIndex
);
173 uno::Any aNewTokenIndex
;
174 aNewTokenIndex
<<= static_cast<sal_Int32
>(42);
175 xDatabaseRange
->setPropertyValue(propName
, aNewTokenIndex
);
176 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= aTokenIndex
);
177 CPPUNIT_ASSERT_EQUAL_MESSAGE("Value of TotalIndex was changed", sal_Int32(1), aTokenIndex
);
180 void DatabaseRange::testTotalsRow()
182 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
184 const OUString
propName("TotalsRow");
186 bool bTotalsRow
= true;
187 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bTotalsRow
);
188 CPPUNIT_ASSERT_MESSAGE("Default TotalsRow already changed", !bTotalsRow
);
190 uno::Any aNewTotalsRow
;
191 aNewTotalsRow
<<= true;
192 xDatabaseRange
->setPropertyValue(propName
, aNewTotalsRow
);
193 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bTotalsRow
);
194 CPPUNIT_ASSERT_MESSAGE("Value of TotalsRow wasn't changed", bTotalsRow
);
197 void DatabaseRange::testContainsHeader()
199 uno::Reference
< beans::XPropertySet
> xDatabaseRange(init("DataArea"), UNO_QUERY_THROW
);
201 const OUString
propName("ContainsHeader");
203 bool bContainsHeader
= false;
204 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bContainsHeader
);
205 CPPUNIT_ASSERT_MESSAGE("Default ContainsHeader already changed", bContainsHeader
);
207 uno::Any aNewContainsHeader
;
208 aNewContainsHeader
<<= false;
209 xDatabaseRange
->setPropertyValue(propName
, aNewContainsHeader
);
210 CPPUNIT_ASSERT(xDatabaseRange
->getPropertyValue(propName
) >>= bContainsHeader
);
211 CPPUNIT_ASSERT_MESSAGE("Value of ContainsHeader wasn't changed", !bContainsHeader
);
216 /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */