Kaydet (Commit) 502b5179 authored tarafından Markus Mohrhard's avatar Markus Mohrhard

extend DataPilotField tests to the whole property set

still missing are all properties that are tested automatically by the
PropertyTester
üst ef8313a1
...@@ -35,6 +35,11 @@ ...@@ -35,6 +35,11 @@
#include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/beans/XPropertySet.hpp>
#include <com/sun/star/sheet/DataPilotFieldSortInfo.hpp> #include <com/sun/star/sheet/DataPilotFieldSortInfo.hpp>
#include <com/sun/star/sheet/DataPilotFieldSortMode.hpp> #include <com/sun/star/sheet/DataPilotFieldSortMode.hpp>
#include <com/sun/star/sheet/DataPilotFieldReferenceItemType.hpp>
#include <com/sun/star/sheet/DataPilotFieldLayoutMode.hpp>
#include <com/sun/star/sheet/DataPilotFieldLayoutInfo.hpp>
#include <com/sun/star/sheet/DataPilotFieldReference.hpp>
#include <com/sun/star/sheet/DataPilotFieldAutoShowInfo.hpp>
#include <rtl/oustringostreaminserter.hxx> #include <rtl/oustringostreaminserter.hxx>
...@@ -46,9 +51,17 @@ class ScDataPilotField : public UnoApiTest ...@@ -46,9 +51,17 @@ class ScDataPilotField : public UnoApiTest
uno::Reference< beans::XPropertySet > init(); uno::Reference< beans::XPropertySet > init();
void testSortInfo(); void testSortInfo();
void testLayoutInfo();
void testAutoShowInfo();
void testReference();
void testIsGroupField();
CPPUNIT_TEST_SUITE(ScDataPilotField); CPPUNIT_TEST_SUITE(ScDataPilotField);
CPPUNIT_TEST(testSortInfo); CPPUNIT_TEST(testSortInfo);
CPPUNIT_TEST(testLayoutInfo);
CPPUNIT_TEST(testAutoShowInfo);
CPPUNIT_TEST(testReference);
CPPUNIT_TEST(testIsGroupField);
CPPUNIT_TEST_SUITE_END(); CPPUNIT_TEST_SUITE_END();
}; };
...@@ -86,6 +99,129 @@ void ScDataPilotField::testSortInfo() ...@@ -86,6 +99,129 @@ void ScDataPilotField::testSortInfo()
CPPUNIT_ASSERT_MESSAGE("should have no sort info", !bHasSortInfo); CPPUNIT_ASSERT_MESSAGE("should have no sort info", !bHasSortInfo);
} }
void ScDataPilotField::testLayoutInfo()
{
uno::Reference< beans::XPropertySet > xPropSet = init();
sheet::DataPilotFieldLayoutInfo aLayoutInfoValue;
rtl::OUString aLayoutInfo(RTL_CONSTASCII_USTRINGPARAM("LayoutInfo"));
aLayoutInfoValue.AddEmptyLines = false;
aLayoutInfoValue.LayoutMode = sheet::DataPilotFieldLayoutMode::OUTLINE_SUBTOTALS_BOTTOM;
uno::Any xValue;
xValue <<= aLayoutInfoValue;
xPropSet->setPropertyValue(aLayoutInfo, xValue);
sheet::DataPilotFieldLayoutInfo aNewLayoutInfoValue;
xValue = xPropSet->getPropertyValue(aLayoutInfo);
CPPUNIT_ASSERT( xValue >>= aNewLayoutInfoValue );
CPPUNIT_ASSERT_MESSAGE("set value should be the same as the got value", aNewLayoutInfoValue.LayoutMode == aLayoutInfoValue.LayoutMode &&
aNewLayoutInfoValue.AddEmptyLines == aLayoutInfoValue.AddEmptyLines);
//setting HasLayoutInfo only makes sense for false, tor true the uno implementation does nothing
sal_Bool bHasLayoutInfo;
rtl::OUString aHasLayoutInfo(RTL_CONSTASCII_USTRINGPARAM("HasLayoutInfo"));
xValue = xPropSet->getPropertyValue(aHasLayoutInfo);
CPPUNIT_ASSERT( xValue >>= bHasLayoutInfo );
CPPUNIT_ASSERT_MESSAGE("should have layout information", bHasLayoutInfo);
bHasLayoutInfo = false;
xValue <<= bHasLayoutInfo;
xPropSet->setPropertyValue(aHasLayoutInfo, xValue);
xValue = xPropSet->getPropertyValue(aHasLayoutInfo);
CPPUNIT_ASSERT( xValue >>= bHasLayoutInfo );
CPPUNIT_ASSERT_MESSAGE("should have no longer sort information", !bHasLayoutInfo);
}
void ScDataPilotField::testAutoShowInfo()
{
uno::Reference< beans::XPropertySet > xPropSet = init();
sheet::DataPilotFieldAutoShowInfo aAutoShowInfoValue;
aAutoShowInfoValue.DataField = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Col1"));
aAutoShowInfoValue.IsEnabled = true;
rtl::OUString aAutoShowInfo(RTL_CONSTASCII_USTRINGPARAM("AutoShowInfo"));
uno::Any xValue;
xValue <<= aAutoShowInfoValue;
xPropSet->setPropertyValue(aAutoShowInfo, xValue);
sheet::DataPilotFieldAutoShowInfo aNewAutoShowInfoValue;
xValue = xPropSet->getPropertyValue(aAutoShowInfo);
CPPUNIT_ASSERT( xValue >>= aNewAutoShowInfoValue );
CPPUNIT_ASSERT_MESSAGE("set value should be the same as the got value", aNewAutoShowInfoValue.DataField == aAutoShowInfoValue.DataField &&
aNewAutoShowInfoValue.IsEnabled == aAutoShowInfoValue.IsEnabled);
//setting HasLayoutInfo only makes sense for false, tor true the uno implementation does nothing
sal_Bool bHasAutoShowInfo;
rtl::OUString aHasAutoShowInfo(RTL_CONSTASCII_USTRINGPARAM("HasAutoShowInfo"));
xValue = xPropSet->getPropertyValue(aHasAutoShowInfo);
CPPUNIT_ASSERT( xValue >>= bHasAutoShowInfo );
CPPUNIT_ASSERT_MESSAGE("should have AutoShow information", bHasAutoShowInfo);
bHasAutoShowInfo = false;
xValue <<= bHasAutoShowInfo;
xPropSet->setPropertyValue(aHasAutoShowInfo, xValue);
xValue = xPropSet->getPropertyValue(aHasAutoShowInfo);
CPPUNIT_ASSERT( xValue >>= bHasAutoShowInfo );
CPPUNIT_ASSERT_MESSAGE("should have no longer AutoShow information", !bHasAutoShowInfo);
}
void ScDataPilotField::testReference()
{
uno::Reference< beans::XPropertySet > xPropSet = init();
sheet::DataPilotFieldReference aReferenceValue;
aReferenceValue.ReferenceField = rtl::OUString(RTL_CONSTASCII_USTRINGPARAM("Col1"));
aReferenceValue.ReferenceItemType = sheet::DataPilotFieldReferenceItemType::NAMED;
rtl::OUString aReference(RTL_CONSTASCII_USTRINGPARAM("Reference"));
uno::Any xValue;
xValue <<= aReferenceValue;
xPropSet->setPropertyValue(aReference, xValue);
sheet::DataPilotFieldReference aNewReferenceValue;
xValue = xPropSet->getPropertyValue(aReference);
CPPUNIT_ASSERT( xValue >>= aNewReferenceValue );
CPPUNIT_ASSERT_MESSAGE("set value should be the same as the got value", aReferenceValue.ReferenceField == aNewReferenceValue.ReferenceField
&& aReferenceValue.ReferenceItemType == aNewReferenceValue.ReferenceItemType);
//setting HasReference only makes sense for false, tor true the uno implementation does nothing
sal_Bool bHasReference;
rtl::OUString aHasReference(RTL_CONSTASCII_USTRINGPARAM("HasReference"));
xValue = xPropSet->getPropertyValue(aHasReference);
CPPUNIT_ASSERT( xValue >>= bHasReference );
CPPUNIT_ASSERT_MESSAGE("should have Reference information", bHasReference);
bHasReference = false;
xValue <<= bHasReference;
xPropSet->setPropertyValue(aHasReference, xValue);
xValue = xPropSet->getPropertyValue(aHasReference);
CPPUNIT_ASSERT( xValue >>= bHasReference );
CPPUNIT_ASSERT_MESSAGE("should have no longer reference information", !bHasReference);
}
void ScDataPilotField::testIsGroupField()
{
uno::Reference< beans::XPropertySet > xPropSet = init();
uno::Any xValue;
rtl::OUString aIsGroupField(RTL_CONSTASCII_USTRINGPARAM("IsGroupField"));
sal_Bool bIsGroupField;
xValue = xPropSet->getPropertyValue(aIsGroupField);
CPPUNIT_ASSERT( xValue >>= bIsGroupField);
//only setting to false is supported
if (bIsGroupField)
{
bIsGroupField = false;
xValue <<= bIsGroupField;
xPropSet->setPropertyValue(aIsGroupField, xValue);
xValue = xPropSet->getPropertyValue(aIsGroupField);
CPPUNIT_ASSERT(xValue >>= bIsGroupField);
CPPUNIT_ASSERT_MESSAGE("setting IsGroupField is supported and should have happened", !bIsGroupField);
}
else
std::cout << "Could not test IsGroupField" << std::endl;
}
uno::Reference< beans::XPropertySet > ScDataPilotField::init() uno::Reference< beans::XPropertySet > ScDataPilotField::init()
{ {
rtl::OUString aFileURL; rtl::OUString aFileURL;
......
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