File indexing completed on 2024-05-12 16:45:27
0001 /*************************************************************************** 0002 * SPDX-FileCopyrightText: 2022 S. MANKOWSKI stephane@mankowski.fr 0003 * SPDX-FileCopyrightText: 2022 G. DE BURE support@mankowski.fr 0004 * SPDX-License-Identifier: GPL-3.0-or-later 0005 ***************************************************************************/ 0006 /** @file 0007 * This file is a test for SKGTableWithGraph component. 0008 * 0009 * @author Stephane MANKOWSKI / Guillaume DE BURE 0010 */ 0011 #include "skgtesttablewithgraph.h" 0012 #include "skgtablewithgraph.h" 0013 #include "skgtestmacro.h" 0014 0015 void SKGTESTTableWithGraph::Test() 0016 { 0017 KLocalizedString::setApplicationDomain("skrooge"); 0018 0019 SKGTableWithGraph graph(nullptr); 0020 0021 SKGStringListList data; 0022 0023 data.append(QStringList() << QStringLiteral("Category") << QStringLiteral("2013-01") << QStringLiteral("2013-02") << QStringLiteral("2013-03") << QStringLiteral("2013-04") << QStringLiteral("2013-05") << QStringLiteral("2013-06")); 0024 data.append(QStringList() << QStringLiteral("Auto") << QStringLiteral("-50") << QStringLiteral("-40.5") << QStringLiteral("-40") << QStringLiteral("-60") << QStringLiteral("-70") << QStringLiteral("-100")); 0025 data.append(QStringList() << QStringLiteral("Food") << QStringLiteral("-510.0") << QStringLiteral("-520") << QStringLiteral("-530.55") << QLatin1String("") << QStringLiteral("-535") << QStringLiteral("-520")); 0026 data.append(QStringList() << QStringLiteral("s1") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0027 data.append(QStringList() << QStringLiteral("s2") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0028 data.append(QStringList() << QStringLiteral("s3") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0029 data.append(QStringList() << QStringLiteral("s4") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0030 data.append(QStringList() << QStringLiteral("s5") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0031 data.append(QStringList() << QStringLiteral("s6") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0032 data.append(QStringList() << QStringLiteral("s7") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0033 data.append(QStringList() << QStringLiteral("s8") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0034 data.append(QStringList() << QStringLiteral("s9") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0035 data.append(QStringList() << QStringLiteral("s10") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0036 data.append(QStringList() << QStringLiteral("s11") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0037 data.append(QStringList() << QStringLiteral("s12") << QStringLiteral("1") << QStringLiteral("2") << QStringLiteral("3") << QLatin1String("") << QStringLiteral("4") << QStringLiteral("5")); 0038 0039 SKGServices::SKGUnitInfo info1; 0040 info1.Symbol = 'P'; 0041 info1.Name = 'P'; 0042 info1.Date = QDate::currentDate(); 0043 info1.NbDecimal = 2; 0044 info1.Value = 1; 0045 0046 SKGServices::SKGUnitInfo info2; 0047 info2.Symbol = 'S'; 0048 info2.Name = 'S'; 0049 info2.Date = QDate::currentDate(); 0050 info2.NbDecimal = 4; 0051 info2.Value = 0.5; 0052 graph.setData(data, info1, info2); 0053 0054 graph.setBackgroundColor(Qt::black); 0055 QCOMPARE(graph.isGraphVisible(), true); 0056 QCOMPARE(graph.isTableVisible(), true); 0057 QCOMPARE(graph.isTextReportVisible(), false); 0058 QCOMPARE(graph.isGraphTypeSelectorVisible(), true); 0059 0060 QCOMPARE(graph.switchLegendVisibility(), true); 0061 0062 QCOMPARE(graph.switchLinearRegressionVisibility(), false); 0063 QCOMPARE(graph.switchLinearRegressionVisibility(), true); 0064 0065 QCOMPARE(graph.switchLimitsVisibility(), false); 0066 QCOMPARE(graph.switchLimitsVisibility(), true); 0067 0068 QCOMPARE(graph.swithOriginVisibility(), false); 0069 QCOMPARE(graph.swithOriginVisibility(), true); 0070 0071 QCOMPARE(graph.getAdditionalDisplayMode(), SKGTableWithGraph::ALL); 0072 0073 graph.setShadowVisible(true); 0074 QCOMPARE(graph.isShadowVisible(), true); 0075 0076 graph.setShadowVisible(false); 0077 QCOMPARE(graph.isShadowVisible(), false); 0078 0079 graph.setSelectable(true); 0080 QCOMPARE(graph.isSelectable(), true); 0081 0082 graph.setSelectable(false); 0083 QCOMPARE(graph.isSelectable(), false); 0084 0085 for (int i = 0; i < 9; ++i) { 0086 graph.setGraphType(static_cast<SKGTableWithGraph::GraphType>(i)); 0087 QCOMPARE(graph.getGraphType(), static_cast<SKGTableWithGraph::GraphType>(i)); 0088 QTest::qWait(1000); 0089 graph.graph()->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGGraphicsView_" + SKGServices::intToString(i) + ".png"); 0090 } 0091 0092 // Graph 0093 QTest::qWait(2000); 0094 0095 graph.resetColors(); 0096 SKGGraphicsView* g = graph.graph(); 0097 g->onCopy(); 0098 g->onSwitchToolBarVisibility(); 0099 g->onSwitchToolBarVisibility(); 0100 g->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGGraphicsView.svg"); 0101 g->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGGraphicsView.pdf"); 0102 g->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGGraphicsView.jpeg"); 0103 g->setAntialiasing(false); 0104 g->setAntialiasing(true); 0105 0106 SKGShow* show = graph.getShowWidget(); 0107 show->setState(QStringLiteral("text")); 0108 show->getMode(); 0109 show->setDisplayTitle(true); 0110 QCOMPARE(show->getDisplayTitle(), true); 0111 show->setDisplayTitle(false); 0112 QCOMPARE(show->getDisplayTitle(), false); 0113 0114 /*QCOMPARE(graph.isGraphVisible(), true); 0115 QCOMPARE(graph.isTableVisible(), true); 0116 QCOMPARE(graph.isTextReportVisible(), true);*/ 0117 0118 SKGWebView* t = graph.textReport(); 0119 QTest::qWait(2000); 0120 t->onZoomIn(); 0121 t->onZoomOriginal(); 0122 t->onZoomOut(); 0123 t->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGWebView.odt"); 0124 t->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGWebView.pdf"); 0125 t->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGWebView.html"); 0126 t->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGWebView.htm"); 0127 t->exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGWebView.png"); 0128 0129 graph.exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGTableWithGraph.csv"); 0130 graph.exportInFile(SKGTest::getTestPath(QStringLiteral("OUT")) % "/skgtesttablewithgraph/SKGTableWithGraph.txt"); 0131 0132 graph.getTable(); 0133 } 0134 0135 QTEST_MAIN(SKGTESTTableWithGraph) 0136