File indexing completed on 2024-05-12 15:53:55

0001 /**
0002  * Copyright (C) 2001-2015 Klaralvdalens Datakonsult AB.  All rights reserved.
0003  *
0004  * This file is part of the KD Chart library.
0005  *
0006  * This program is free software; you can redistribute it and/or
0007  * modify it under the terms of the GNU General Public License as
0008  * published by the Free Software Foundation; either version 2 of
0009  * the License, or (at your option) any later version.
0010  *
0011  * This program is distributed in the hope that it will be useful,
0012  * but WITHOUT ANY WARRANTY; without even the implied warranty of
0013  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
0014  * GNU General Public License for more details.
0015  *
0016  * You should have received a copy of the GNU General Public License
0017  * along with this program.  If not, see <https://www.gnu.org/licenses/>.
0018  */
0019 
0020 #include <QtTest/QtTest>
0021 #include <KChartChart>
0022 #include <KChartGlobal>
0023 #include <KChartPolarDiagram>
0024 #include <KChartPolarCoordinatePlane>
0025 
0026 #include <TableModel.h>
0027 
0028 using namespace KChart;
0029 
0030 class TestPolarDiagrams: public QObject {
0031     Q_OBJECT
0032 private Q_SLOTS:
0033 
0034     void initTestCase()
0035     {
0036         m_chart = new Chart(nullptr);
0037         PolarCoordinatePlane* polarPlane = new PolarCoordinatePlane( m_chart );
0038         m_chart->replaceCoordinatePlane( polarPlane );
0039         m_model = new TableModel( this );
0040         m_model->loadFromCSV( ":/data" );
0041         m_polar = new PolarDiagram();
0042         m_polar->setModel( m_model );
0043         m_chart->coordinatePlane()->replaceDiagram( m_polar );
0044     }
0045 
0046     void testPolarDiagramsSettings()
0047     {
0048         QVERIFY( m_polar->rotateCircularLabels() == false );
0049         QVERIFY( m_polar->showDelimitersAtPosition( Position::NorthWest ) == false );
0050         QVERIFY( m_polar->showDelimitersAtPosition( Position::North ) == false );
0051         QVERIFY( m_polar->showDelimitersAtPosition( Position::NorthEast ) == false );
0052         QVERIFY( m_polar->showDelimitersAtPosition( Position::West ) == false );
0053         QVERIFY( m_polar->showDelimitersAtPosition( Position::East ) == false );
0054         QVERIFY( m_polar->showDelimitersAtPosition( Position::SouthWest ) == false );
0055         QVERIFY( m_polar->showDelimitersAtPosition( Position::South ) == false );
0056         QVERIFY( m_polar->showDelimitersAtPosition( Position::SouthEast ) == false );
0057         QVERIFY( m_polar->showLabelsAtPosition( Position::NorthWest ) == false );
0058         QVERIFY( m_polar->showLabelsAtPosition( Position::North ) == false );
0059         QVERIFY( m_polar->showLabelsAtPosition( Position::NorthEast ) == false );
0060         QVERIFY( m_polar->showLabelsAtPosition( Position::West ) == false );
0061         QVERIFY( m_polar->showLabelsAtPosition( Position::East ) == false );
0062         QVERIFY( m_polar->showLabelsAtPosition( Position::SouthWest ) == false );
0063         QVERIFY( m_polar->showLabelsAtPosition( Position::South ) == false );
0064         QVERIFY( m_polar->showLabelsAtPosition( Position::SouthEast ) == false );
0065         qDebug() << "void PolarDiagram::init() is never called.....(?)";
0066         m_polar->setRotateCircularLabels(  true );
0067         m_polar->setShowDelimitersAtPosition( Position::North, true );
0068         m_polar->setShowDelimitersAtPosition( Position::South, true );
0069         m_polar->setShowLabelsAtPosition( Position::North, true );
0070         m_polar->setShowLabelsAtPosition( Position::South, true );
0071         QVERIFY( m_polar->rotateCircularLabels() == true );
0072         QVERIFY( m_polar->showDelimitersAtPosition( Position::North ) == true );
0073         QVERIFY( m_polar->showDelimitersAtPosition( Position::South ) == true );
0074         QVERIFY( m_polar->showLabelsAtPosition( Position::North ) == true );
0075         QVERIFY( m_polar->showLabelsAtPosition( Position::South ) == true );
0076     }
0077 
0078 
0079     void cleanupTestCase()
0080     {
0081     }
0082 
0083 private:
0084     Chart *m_chart;
0085     PolarDiagram *m_polar;
0086     TableModel *m_model;
0087 
0088 };
0089 
0090 QTEST_MAIN(TestPolarDiagrams)
0091 
0092 #include "main.moc"