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

add import test for color scales

Change-Id: Ie85f8efd520aaf4e10b560c637a74fbd9e25530b
üst edf57013
...@@ -124,6 +124,8 @@ public: ...@@ -124,6 +124,8 @@ public:
void testDataBarODS(); void testDataBarODS();
void testDataBarXLSX(); void testDataBarXLSX();
void testColorScaleODS();
void testColorScaleXLSX();
void testNewCondFormatXLSX(); void testNewCondFormatXLSX();
//change this test file only in excel and not in calc //change this test file only in excel and not in calc
...@@ -184,6 +186,8 @@ public: ...@@ -184,6 +186,8 @@ public:
CPPUNIT_TEST(testDataBarODS); CPPUNIT_TEST(testDataBarODS);
CPPUNIT_TEST(testDataBarXLSX); CPPUNIT_TEST(testDataBarXLSX);
CPPUNIT_TEST(testColorScaleODS);
CPPUNIT_TEST(testColorScaleXLSX);
CPPUNIT_TEST(testNewCondFormatXLSX); CPPUNIT_TEST(testNewCondFormatXLSX);
CPPUNIT_TEST(testNumberFormatHTML); CPPUNIT_TEST(testNumberFormatHTML);
...@@ -1808,6 +1812,112 @@ void ScFiltersTest::testDataBarXLSX() ...@@ -1808,6 +1812,112 @@ void ScFiltersTest::testDataBarXLSX()
testDataBar_Impl(pDoc); testDataBar_Impl(pDoc);
} }
namespace {
struct ColorScale2EntryData
{
ScRange aRange;
ScColorScaleEntryType eLowerType;
ScColorScaleEntryType eUpperType;
};
ColorScale2EntryData aData2Entry[] = {
{ ScRange(1,2,0,1,5,0), COLORSCALE_MIN, COLORSCALE_MAX },
{ ScRange(3,2,0,3,5,0), COLORSCALE_PERCENTILE, COLORSCALE_PERCENT },
{ ScRange(5,2,0,5,5,0), COLORSCALE_VALUE, COLORSCALE_FORMULA }
};
void testColorScale2Entry_Impl(ScDocument* pDoc)
{
const ScConditionalFormatList* pList = pDoc->GetCondFormList(0);
CPPUNIT_ASSERT(pList);
for(size_t i = 0; i < SAL_N_ELEMENTS(aData2Entry); ++i)
{
ScConditionalFormatList::const_iterator itr = std::find_if(pList->begin(),
pList->end(), FindCondFormatByEnclosingRange(aData2Entry[i].aRange));
CPPUNIT_ASSERT(itr != pList->end());
CPPUNIT_ASSERT_EQUAL(size_t(1), itr->size());
const ScFormatEntry* pFormatEntry = itr->GetEntry(0);
CPPUNIT_ASSERT_EQUAL(pFormatEntry->GetType(), condformat::COLORSCALE);
const ScColorScaleFormat* pColFormat = static_cast<const ScColorScaleFormat*>(pFormatEntry);
CPPUNIT_ASSERT_EQUAL(size_t(2), pColFormat->size());
ScColorScaleFormat::const_iterator format_itr = pColFormat->begin();
CPPUNIT_ASSERT_EQUAL(aData2Entry[i].eLowerType, format_itr->GetType());
++format_itr;
CPPUNIT_ASSERT(format_itr != pColFormat->end());
CPPUNIT_ASSERT_EQUAL(aData2Entry[i].eUpperType, format_itr->GetType());
}
}
struct ColorScale3EntryData
{
ScRange aRange;
ScColorScaleEntryType eLowerType;
ScColorScaleEntryType eMiddleType;
ScColorScaleEntryType eUpperType;
};
ColorScale3EntryData aData3Entry[] = {
{ ScRange(1,1,1,1,6,1), COLORSCALE_MIN, COLORSCALE_PERCENTILE, COLORSCALE_MAX },
{ ScRange(3,1,1,3,6,1), COLORSCALE_PERCENTILE, COLORSCALE_VALUE, COLORSCALE_PERCENT },
{ ScRange(5,1,1,5,6,1), COLORSCALE_VALUE, COLORSCALE_VALUE, COLORSCALE_FORMULA }
};
void testColorScale3Entry_Impl(ScDocument* pDoc)
{
ScConditionalFormatList* pList = pDoc->GetCondFormList(1);
CPPUNIT_ASSERT(pList);
for(size_t i = 0; i < SAL_N_ELEMENTS(aData3Entry); ++i)
{
ScConditionalFormatList::const_iterator itr = std::find_if(pList->begin(),
pList->end(), FindCondFormatByEnclosingRange(aData3Entry[i].aRange));
CPPUNIT_ASSERT(itr != pList->end());
CPPUNIT_ASSERT_EQUAL(size_t(1), itr->size());
const ScFormatEntry* pFormatEntry = itr->GetEntry(0);
CPPUNIT_ASSERT_EQUAL(pFormatEntry->GetType(), condformat::COLORSCALE);
const ScColorScaleFormat* pColFormat = static_cast<const ScColorScaleFormat*>(pFormatEntry);
CPPUNIT_ASSERT_EQUAL(size_t(3), pColFormat->size());
ScColorScaleFormat::const_iterator format_itr = pColFormat->begin();
CPPUNIT_ASSERT_EQUAL(aData3Entry[i].eLowerType, format_itr->GetType());
++format_itr;
CPPUNIT_ASSERT(format_itr != pColFormat->end());
CPPUNIT_ASSERT_EQUAL(aData3Entry[i].eMiddleType, format_itr->GetType());
++format_itr;
CPPUNIT_ASSERT(format_itr != pColFormat->end());
CPPUNIT_ASSERT_EQUAL(aData3Entry[i].eUpperType, format_itr->GetType());
}
}
}
void ScFiltersTest::testColorScaleODS()
{
ScDocShellRef xDocSh = loadDoc("colorscale.", ODS);
CPPUNIT_ASSERT(xDocSh.Is());
ScDocument* pDoc = xDocSh->GetDocument();
CPPUNIT_ASSERT(pDoc);
testColorScale2Entry_Impl(pDoc);
testColorScale3Entry_Impl(pDoc);
}
void ScFiltersTest::testColorScaleXLSX()
{
ScDocShellRef xDocSh = loadDoc("colorscale.", XLSX);
CPPUNIT_ASSERT(xDocSh.Is());
ScDocument* pDoc = xDocSh->GetDocument();
CPPUNIT_ASSERT(pDoc);
testColorScale2Entry_Impl(pDoc);
testColorScale3Entry_Impl(pDoc);
}
void ScFiltersTest::testNewCondFormatXLSX() void ScFiltersTest::testNewCondFormatXLSX()
{ {
ScDocShellRef xDocSh = ScBootstrapFixture::loadDoc( "new_cond_format_test.", XLSX ); ScDocShellRef xDocSh = ScBootstrapFixture::loadDoc( "new_cond_format_test.", XLSX );
......
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