[Libreoffice-commits] .: 5 commits - sc/qa sc/source

Libreoffice Gerrit user logerrit at kemper.freedesktop.org
Mon Sep 17 21:22:58 PDT 2012


 sc/qa/unit/rangelst_test.cxx     |   73 +++++++++++++++++++++++++++++++++++----
 sc/source/core/tool/rangelst.cxx |   18 ++++-----
 2 files changed, 76 insertions(+), 15 deletions(-)

New commits:
commit 01e63352677242ca6915cc37601c4f8b0a49881c
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Sep 18 06:18:11 2012 +0200

    and another test for ScRangeList::DeleteArea
    
    Change-Id: I1fa81b32f9ffc70769876becbcf213796cab405b

diff --git a/sc/qa/unit/rangelst_test.cxx b/sc/qa/unit/rangelst_test.cxx
index a2289b6..b447dc1 100644
--- a/sc/qa/unit/rangelst_test.cxx
+++ b/sc/qa/unit/rangelst_test.cxx
@@ -88,6 +88,21 @@ void Test::testDeleteArea_4Ranges()
 void Test::testDeleteArea_3Ranges()
 {
     ScRangeList aList(ScRange(1,1,0,6,6,0));
+    aList.DeleteArea(3,3,0,8,4,0);
+
+    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), aList.size());
+    for(SCCOL nCol = 1; nCol <= 6; ++nCol)
+    {
+        for(SCROW nRow = 1; nRow <= 6; ++nRow)
+        {
+            if((nRow == 3 || nRow == 4) && (nCol >= 3))
+                CPPUNIT_ASSERT(!aList.In(ScRange(nCol, nRow, 0)));
+            else
+                CPPUNIT_ASSERT(aList.In(ScRange(nCol, nRow, 0)));
+        }
+    }
+
+    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(28), aList.GetCellCount());
 }
 
 void Test::testDeleteArea_2Ranges()
commit 5f0b2c26ce6854463577058ee1d84fefd1889b2c
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Sep 18 04:58:50 2012 +0200

    more tests for ScRangeList::DeleteArea
    
    Change-Id: I1ba3278d8c74c62f28f2b89bec35bc33be477094

diff --git a/sc/qa/unit/rangelst_test.cxx b/sc/qa/unit/rangelst_test.cxx
index 3d6259c..a2289b6 100644
--- a/sc/qa/unit/rangelst_test.cxx
+++ b/sc/qa/unit/rangelst_test.cxx
@@ -21,8 +21,10 @@ public:
     virtual void tearDown();
 
     void testDeleteArea_4Ranges();
+    void testDeleteArea_3Ranges();
     void testDeleteArea_2Ranges();
     void testDeleteArea_2Ranges_Case2();
+    void testDeleteArea_1Range();
     void testDeleteArea_0Ranges();
 
     void testUpdateReference_DeleteRow();
@@ -30,8 +32,10 @@ public:
 
     CPPUNIT_TEST_SUITE(Test);
     CPPUNIT_TEST(testDeleteArea_4Ranges);
+    CPPUNIT_TEST(testDeleteArea_3Ranges);
     CPPUNIT_TEST(testDeleteArea_2Ranges);
     CPPUNIT_TEST(testDeleteArea_2Ranges_Case2);
+    CPPUNIT_TEST(testDeleteArea_1Range);
     CPPUNIT_TEST(testDeleteArea_0Ranges);
     CPPUNIT_TEST(testUpdateReference_DeleteRow);
     CPPUNIT_TEST(testUpdateReference_DeleteCol);
@@ -81,6 +85,11 @@ void Test::testDeleteArea_4Ranges()
     }
 }
 
+void Test::testDeleteArea_3Ranges()
+{
+    ScRangeList aList(ScRange(1,1,0,6,6,0));
+}
+
 void Test::testDeleteArea_2Ranges()
 {
     ScRangeList aList(ScRange(0,0,0,5,5,5));
@@ -118,6 +127,20 @@ void Test::testDeleteArea_2Ranges_Case2()
     CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(4), aList.GetCellCount());
 }
 
+void Test::testDeleteArea_1Range()
+{
+    ScRangeList aList(ScRange(1,1,0,3,3,0));
+    aList.DeleteArea(1,1,0,2,3,0);
+
+    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1), aList.size());
+
+    for(SCROW nRow = 1; nRow <= 3; ++nRow)
+    {
+        CPPUNIT_ASSERT(aList.In(ScRange(3,nRow,0)));
+    }
+    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(3), aList.GetCellCount());
+}
+
 void Test::testDeleteArea_0Ranges()
 {
     ScRangeList aList(ScRange(1,1,0,3,3,0));
commit 59bdd7aef895256c34f81fb77767cb4972d596ae
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Tue Sep 18 02:25:19 2012 +0200

    use the typedefs in ScRangeList
    
    Change-Id: If90c068eb4db26203612a54aa3536118650bfb43

diff --git a/sc/source/core/tool/rangelst.cxx b/sc/source/core/tool/rangelst.cxx
index c6b3bfc..7a874e8 100644
--- a/sc/source/core/tool/rangelst.cxx
+++ b/sc/source/core/tool/rangelst.cxx
@@ -434,7 +434,7 @@ bool ScRangeList::UpdateReference(
         }
     }
 
-    vector<ScRange*>::iterator itr = maRanges.begin(), itrEnd = maRanges.end();
+    iterator itr = maRanges.begin(), itrEnd = maRanges.end();
     for (; itr != itrEnd; ++itr)
     {
         ScRange* pR = *itr;
@@ -781,14 +781,14 @@ void ScRangeList::DeleteArea( SCCOL nCol1, SCROW nRow1, SCTAB nTab1,
 
 const ScRange* ScRangeList::Find( const ScAddress& rAdr ) const
 {
-    vector<ScRange*>::const_iterator itr = find_if(
+    const_iterator itr = find_if(
         maRanges.begin(), maRanges.end(), FindEnclosingRange<ScAddress>(rAdr));
     return itr == maRanges.end() ? NULL : *itr;
 }
 
 ScRange* ScRangeList::Find( const ScAddress& rAdr )
 {
-    vector<ScRange*>::iterator itr = find_if(
+    iterator itr = find_if(
         maRanges.begin(), maRanges.end(), FindEnclosingRange<ScAddress>(rAdr));
     return itr == maRanges.end() ? NULL : *itr;
 }
@@ -824,16 +824,16 @@ void ScRangeList::Append( const ScRange& rRange )
 
 bool ScRangeList::Intersects( const ScRange& rRange ) const
 {
-    vector<ScRange*>::const_iterator itrEnd = maRanges.end();
-    vector<ScRange*>::const_iterator itr =
+    const_iterator itrEnd = maRanges.end();
+    const_iterator itr =
         find_if(maRanges.begin(), itrEnd, FindIntersectingRange<ScRange>(rRange));
     return itr != itrEnd;
 }
 
 bool ScRangeList::In( const ScRange& rRange ) const
 {
-    vector<ScRange*>::const_iterator itrEnd = maRanges.end();
-    vector<ScRange*>::const_iterator itr =
+    const_iterator itrEnd = maRanges.end();
+    const_iterator itr =
         find_if(maRanges.begin(), itrEnd, FindEnclosingRange<ScRange>(rRange));
     return itr != itrEnd;
 }
@@ -851,7 +851,7 @@ ScRange* ScRangeList::Remove(size_t nPos)
         // Out-of-bound condition.  Bail out.
         return NULL;
 
-    vector<ScRange*>::iterator itr = maRanges.begin();
+    iterator itr = maRanges.begin();
     advance(itr, nPos);
     ScRange* p = *itr;
     maRanges.erase(itr);
@@ -869,7 +869,7 @@ ScRange ScRangeList::Combine() const
     if (maRanges.empty())
         return ScRange();
 
-    vector<ScRange*>::const_iterator itr = maRanges.begin(), itrEnd = maRanges.end();
+    const_iterator itr = maRanges.begin(), itrEnd = maRanges.end();
     ScRange aRet = **itr;
     ++itr;
     for (; itr != itrEnd; ++itr)
commit f8f449c581c252a8ef5eb02ca2502c7abdd8317d
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Mon Sep 17 22:02:57 2012 +0200

    it is better to use ScRangeList::In than Intersects
    
    Change-Id: Idb9839c827729edaa72442f78fbd2fd6561d95c8

diff --git a/sc/qa/unit/rangelst_test.cxx b/sc/qa/unit/rangelst_test.cxx
index f2eea24..3d6259c 100644
--- a/sc/qa/unit/rangelst_test.cxx
+++ b/sc/qa/unit/rangelst_test.cxx
@@ -74,9 +74,9 @@ void Test::testDeleteArea_4Ranges()
         for(SCROW nRow = 0; nRow <= 5; ++nRow)
         {
             if((nCol == 2 || nCol == 3) && ( nRow == 2 || nRow == 3))
-                CPPUNIT_ASSERT(!aList.Intersects(ScRange(nCol, nRow, 0)));
+                CPPUNIT_ASSERT(!aList.In(ScRange(nCol, nRow, 0)));
             else
-                CPPUNIT_ASSERT(aList.Intersects(ScRange(nCol, nRow, 0)));
+                CPPUNIT_ASSERT(aList.In(ScRange(nCol, nRow, 0)));
         }
     }
 }
@@ -96,9 +96,9 @@ void Test::testDeleteArea_2Ranges()
         for(SCROW nRow = 0; nRow <= 5; ++nRow)
         {
             if(nCol>=4 && nRow >= 4)
-                CPPUNIT_ASSERT(!aList.Intersects(ScRange(nCol, nRow, 0)));
+                CPPUNIT_ASSERT(!aList.In(ScRange(nCol, nRow, 0)));
             else
-                CPPUNIT_ASSERT(aList.Intersects(ScRange(nCol, nRow, 0)));
+                CPPUNIT_ASSERT(aList.In(ScRange(nCol, nRow, 0)));
         }
     }
 }
@@ -111,9 +111,9 @@ void Test::testDeleteArea_2Ranges_Case2()
     for(SCROW nRow = 1; nRow <= 5; ++nRow)
     {
         if(nRow == 3)
-            CPPUNIT_ASSERT(!aList.Intersects(ScRange(1,3,0)));
+            CPPUNIT_ASSERT(!aList.In(ScRange(1,3,0)));
         else
-            CPPUNIT_ASSERT(aList.Intersects(ScRange(1,nRow,0)));
+            CPPUNIT_ASSERT(aList.In(ScRange(1,nRow,0)));
     }
     CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(4), aList.GetCellCount());
 }
@@ -141,9 +141,9 @@ void Test::testUpdateReference_DeleteRow()
     {
         for(SCROW nRow = 1; nRow <= 3; ++nRow)
         {
-            CPPUNIT_ASSERT(aList.Intersects(ScRange(nCol, nRow, 0)));
+            CPPUNIT_ASSERT(aList.In(ScRange(nCol, nRow, 0)));
         }
-        CPPUNIT_ASSERT(!aList.Intersects(ScRange(nCol, 4, 0)));
+        CPPUNIT_ASSERT(!aList.In(ScRange(nCol, 4, 0)));
     }
     CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(12), aList.GetCellCount());
 }
@@ -158,9 +158,9 @@ void Test::testUpdateReference_DeleteCol()
     {
         for(SCCOL nCol = 1; nCol <= 3; ++nCol)
         {
-            CPPUNIT_ASSERT(aList.Intersects(ScRange(nCol, nRow, 0)));
+            CPPUNIT_ASSERT(aList.In(ScRange(nCol, nRow, 0)));
         }
-        CPPUNIT_ASSERT(!aList.Intersects(ScRange(4, nRow, 0)));
+        CPPUNIT_ASSERT(!aList.In(ScRange(4, nRow, 0)));
     }
     CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(12), aList.GetCellCount());
 }
commit 011060da4d3532770bfc063dd5034f402a194f30
Author: Markus Mohrhard <markus.mohrhard at googlemail.com>
Date:   Mon Sep 17 21:46:28 2012 +0200

    add tests for ScRangeList::UpdateReference
    
    Change-Id: I0461b7a23b4743f6e73e6c771b1b2119ad1bce15

diff --git a/sc/qa/unit/rangelst_test.cxx b/sc/qa/unit/rangelst_test.cxx
index 41d4590..f2eea24 100644
--- a/sc/qa/unit/rangelst_test.cxx
+++ b/sc/qa/unit/rangelst_test.cxx
@@ -33,6 +33,8 @@ public:
     CPPUNIT_TEST(testDeleteArea_2Ranges);
     CPPUNIT_TEST(testDeleteArea_2Ranges_Case2);
     CPPUNIT_TEST(testDeleteArea_0Ranges);
+    CPPUNIT_TEST(testUpdateReference_DeleteRow);
+    CPPUNIT_TEST(testUpdateReference_DeleteCol);
     CPPUNIT_TEST_SUITE_END();
 
 
@@ -135,11 +137,32 @@ void Test::testUpdateReference_DeleteRow()
     bool bUpdated = aList.UpdateReference(URM_INSDEL, m_pDoc, ScRange(0,3,0,MAXCOL,MAXROW,0), 0, -1, 0);
     CPPUNIT_ASSERT(bUpdated);
 
+    for(SCCOL nCol = 1; nCol <= 4; ++nCol)
+    {
+        for(SCROW nRow = 1; nRow <= 3; ++nRow)
+        {
+            CPPUNIT_ASSERT(aList.Intersects(ScRange(nCol, nRow, 0)));
+        }
+        CPPUNIT_ASSERT(!aList.Intersects(ScRange(nCol, 4, 0)));
+    }
+    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(12), aList.GetCellCount());
 }
 
 void Test::testUpdateReference_DeleteCol()
 {
+    ScRangeList aList(ScRange(1,1,0,4,4,0));
+    bool bUpdated = aList.UpdateReference(URM_INSDEL, m_pDoc, ScRange(3,0,0,MAXCOL,MAXROW,0), -1, 0, 0);
+    CPPUNIT_ASSERT(bUpdated);
 
+    for(SCROW nRow = 1; nRow <= 4; ++nRow)
+    {
+        for(SCCOL nCol = 1; nCol <= 3; ++nCol)
+        {
+            CPPUNIT_ASSERT(aList.Intersects(ScRange(nCol, nRow, 0)));
+        }
+        CPPUNIT_ASSERT(!aList.Intersects(ScRange(4, nRow, 0)));
+    }
+    CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(12), aList.GetCellCount());
 }
 
 CPPUNIT_TEST_SUITE_REGISTRATION(Test);


More information about the Libreoffice-commits mailing list