File indexing completed on 2024-04-28 03:48:09
0001 /* 0002 File : RetransformTest.h 0003 Project : LabPlot 0004 Description : Tests to evaluate retransforming 0005 -------------------------------------------------------------------- 0006 SPDX-FileCopyrightText: 2021 Martin Marmsoler <martin.marmsoler@gmail.com> 0007 0008 SPDX-License-Identifier: GPL-2.0-or-later 0009 */ 0010 0011 #ifndef RETRANSFORMTEST_H 0012 #define RETRANSFORMTEST_H 0013 0014 #include "../../CommonTest.h" 0015 0016 class RetransformTest : public CommonTest { 0017 Q_OBJECT 0018 0019 // Tests 0020 private Q_SLOTS: 0021 void initTestCase(); 0022 0023 void TestLoadProject(); 0024 void TestLoadProject2(); 0025 void TestResizeWindows(); 0026 void TestPadding(); 0027 void TestCopyPastePlot(); 0028 void TestAddCurve(); 0029 void TestImportCSV(); 0030 void TestSetScale(); 0031 0032 void TestZoomSelectionAutoscale(); 0033 void TestZoomAutoscaleSingleYRange(); 0034 void TestZoomAutoscaleSingleXRange(); 0035 void TestZoom(); 0036 0037 void TestChangePlotRange(); 0038 void TestChangePlotRangeElement(); 0039 void TestChangePlotRangeElement2(); 0040 void TestChangePlotRangeElement3(); 0041 0042 void TestBarPlotOrientation(); 0043 0044 void testPlotRecalcRetransform(); 0045 void testPlotRecalcNoRetransform(); 0046 }; 0047 0048 /*! 0049 * \brief The RetransformCallCounter class 0050 * Used to count the retransform calls to evaluate that 0051 * the items retransform are called a exact number of times 0052 */ 0053 class RetransformCallCounter : public QObject { 0054 Q_OBJECT 0055 public: 0056 QHash<QString, int> statistic(bool includeSuppressed); 0057 int elementLogCount(bool includeSuppressed); 0058 bool calledExact(int requiredCallCount, bool includeSuppressed); 0059 int callCount(const QString& path); 0060 int callCount(const AbstractAspect* aspect); 0061 void resetRetransformCount(); 0062 void aspectRetransformed(const AbstractAspect* sender, bool suppressed); 0063 void retransformScaleCalled(const CartesianPlot* plot, CartesianCoordinateSystem::Dimension dim, int index); 0064 void aspectAdded(const AbstractAspect* aspect); 0065 0066 public: 0067 struct Retransformed { 0068 const AbstractAspect* aspect; 0069 bool suppressed; 0070 }; 0071 0072 struct ScaleRetransformed { 0073 const CartesianPlot* plot; 0074 int index; 0075 }; 0076 QVector<Retransformed> logsRetransformed; 0077 QVector<ScaleRetransformed> logsXScaleRetransformed; 0078 QVector<ScaleRetransformed> logsYScaleRetransformed; 0079 }; 0080 0081 #endif // RETRANSFORMTEST_H