[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    koffice/plugins/chartshape/tests
From:       Johannes Simon <johannes.simon () gmail ! com>
Date:       2010-09-20 19:38:42
Message-ID: 20100920193842.DC456AC88C () svn ! kde ! org
[Download RAW message or body]

SVN commit 1177641 by jsimon:

Provide two more test cases for two and three data dimensions, resp.

 M  +68 -1     TestProxyModel.cpp  
 M  +3 -1      TestProxyModel.h  


--- trunk/koffice/plugins/chartshape/tests/TestProxyModel.cpp #1177640:1177641
@@ -52,8 +52,9 @@
 {
 }
 
-void TestProxyModel::initTestCase()
+void TestProxyModel::init()
 {
+    m_source.clear();
     m_table = m_source.add( "Table1", &m_sourceModel );
 
     m_sourceModel.setRowCount( 4 );
@@ -535,4 +536,70 @@
     QCOMPARE( dataSets[2]->categoryDataRegion(), CellRegion());
 }
 
+void TestProxyModel::testTwoDimensions()
+{
+    QList<DataSet*> dataSets;
+
+    // Horizontal data direction
+    m_proxyModel.setDataDirection( Qt::Horizontal );
+    m_proxyModel.setFirstColumnIsLabel( false );
+    m_proxyModel.setFirstRowIsLabel( false );
+    m_proxyModel.setDataDimensions( 2 );
+
+    dataSets = m_proxyModel.dataSets();
+
+    QCOMPARE( dataSets.size(), 3 );
+    QCOMPARE( dataSets[0]->size(), 5 );
+    QCOMPARE( dataSets[1]->size(), 5 );
+    QCOMPARE( dataSets[2]->size(), 5 );
+
+    QCOMPARE( dataSets[0]->xDataRegion(), CellRegion( m_table, QRect( 1, 1, 5, 1 ) ) );
+    QCOMPARE( dataSets[0]->yDataRegion(), CellRegion( m_table, QRect( 1, 2, 5, 1 ) ) );
+    QCOMPARE( dataSets[0]->customDataRegion(), CellRegion() );
+    QCOMPARE( dataSets[0]->labelDataRegion(), CellRegion() );
+    QCOMPARE( dataSets[0]->categoryDataRegion(), CellRegion() );
+
+    QCOMPARE( dataSets[1]->xDataRegion(), CellRegion( m_table, QRect( 1, 1, 5, 1 ) ) );
+    QCOMPARE( dataSets[1]->yDataRegion(), CellRegion( m_table, QRect( 1, 3, 5, 1 ) ) );
+    QCOMPARE( dataSets[1]->customDataRegion(), CellRegion() );
+    QCOMPARE( dataSets[1]->labelDataRegion(), CellRegion() );
+    QCOMPARE( dataSets[1]->categoryDataRegion(), CellRegion() );
+
+    QCOMPARE( dataSets[2]->xDataRegion(), CellRegion( m_table, QRect( 1, 1, 5, 1 ) ) );
+    QCOMPARE( dataSets[2]->yDataRegion(), CellRegion( m_table, QRect( 1, 4, 5, 1 ) ) );
+    QCOMPARE( dataSets[2]->customDataRegion(), CellRegion() );
+    QCOMPARE( dataSets[2]->labelDataRegion(), CellRegion() );
+    QCOMPARE( dataSets[2]->categoryDataRegion(), CellRegion() );
+}
+
+void TestProxyModel::testThreeDimensions()
+{
+    QList<DataSet*> dataSets;
+
+    // Horizontal data direction
+    m_proxyModel.setDataDirection( Qt::Horizontal );
+    m_proxyModel.setFirstColumnIsLabel( false );
+    m_proxyModel.setFirstRowIsLabel( false );
+    m_proxyModel.setDataDimensions( 3 );
+
+    dataSets = m_proxyModel.dataSets();
+
+    QCOMPARE( dataSets.size(), 2 );
+    QCOMPARE( dataSets[0]->size(), 5 );
+    QCOMPARE( dataSets[1]->size(), 5 );
+
+    QCOMPARE( dataSets[0]->xDataRegion(), CellRegion( m_table, QRect( 1, 1, 5, 1 ) ) );
+    QCOMPARE( dataSets[0]->yDataRegion(), CellRegion( m_table, QRect( 1, 2, 5, 1 ) ) );
+    QCOMPARE( dataSets[0]->customDataRegion(), CellRegion( m_table, QRect( 1, 3, 5, 1 ) ) );
+    QCOMPARE( dataSets[0]->labelDataRegion(), CellRegion() );
+    QCOMPARE( dataSets[0]->categoryDataRegion(), CellRegion() );
+
+    QCOMPARE( dataSets[1]->xDataRegion(), CellRegion( m_table, QRect( 1, 1, 5, 1 ) ) );
+    QCOMPARE( dataSets[1]->yDataRegion(), CellRegion( m_table, QRect( 1, 4, 5, 1 ) ) );
+    // Since there's only four rows, not the necessary five, this region must be empty
+    QCOMPARE( dataSets[1]->customDataRegion(), CellRegion() );
+    QCOMPARE( dataSets[1]->labelDataRegion(), CellRegion() );
+    QCOMPARE( dataSets[1]->categoryDataRegion(), CellRegion() );
+}
+
 QTEST_MAIN( TestProxyModel )
--- trunk/koffice/plugins/chartshape/tests/TestProxyModel.h #1177640:1177641
@@ -39,7 +39,7 @@
     TestProxyModel();
 
 private slots:
-    void initTestCase();
+    void init();
 
     void testWithoutLabels();
     void testFirstRowAsLabel();
@@ -47,6 +47,8 @@
     void testFirstRowAndColumnAsLabels();
     void testRegionOrder();
     void testComplexRegions();
+    void testTwoDimensions();
+    void testThreeDimensions();
 
 private:
     // m_source must be initialized before m_proxyModel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic