diff options
author | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2011-12-07 19:41:13 +0100 |
---|---|---|
committer | Markus Mohrhard <markus.mohrhard@googlemail.com> | 2011-12-07 20:23:15 +0100 |
commit | 502b5179164136bf9cd7ca6abe22a7764eee46f4 (patch) | |
tree | 2a8c49f27f80f500a477dc010a6376e634087d60 /sc/qa/extras | |
parent | ef8313a16cc8566d6a820386b63ee4b549b3cc91 (diff) |
extend DataPilotField tests to the whole property set
still missing are all properties that are tested automatically by the
PropertyTester
Diffstat (limited to 'sc/qa/extras')
-rw-r--r-- | sc/qa/extras/datapilotfieldobj.cxx | 136 |
1 files changed, 136 insertions, 0 deletions
diff --git a/sc/qa/extras/datapilotfieldobj.cxx b/sc/qa/extras/datapilotfieldobj.cxx index fcdc597829b2..8ebc424b4f2d 100644 --- a/sc/qa/extras/datapilotfieldobj.cxx +++ b/sc/qa/extras/datapilotfieldobj.cxx @@ -35,6 +35,11 @@ #include <com/sun/star/beans/XPropertySet.hpp> #include <com/sun/star/sheet/DataPilotFieldSortInfo.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> @@ -46,9 +51,17 @@ class ScDataPilotField : public UnoApiTest uno::Reference< beans::XPropertySet > init(); void testSortInfo(); + void testLayoutInfo(); + void testAutoShowInfo(); + void testReference(); + void testIsGroupField(); CPPUNIT_TEST_SUITE(ScDataPilotField); CPPUNIT_TEST(testSortInfo); + CPPUNIT_TEST(testLayoutInfo); + CPPUNIT_TEST(testAutoShowInfo); + CPPUNIT_TEST(testReference); + CPPUNIT_TEST(testIsGroupField); CPPUNIT_TEST_SUITE_END(); }; @@ -86,6 +99,129 @@ void ScDataPilotField::testSortInfo() 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() { rtl::OUString aFileURL; |